Last Updated on 22 mars 2021 by jbhr
Créer et initialiser un nouveau projet Laravel
Installateur Laravel:
composer global require "laravel/installer"
Création du projet: lancer la commande pour créer le projet Laravel dans le dossier [nom du projet]:
laravel new [nom du projet]
Commandes pour générer et compiler le frontend (Vue.js, CSS…)
Création du squelette frontend Laravel / UI sous Vue.js, avec la gestion d’authentification:
php artisan ui vue --auth
Compiler après chaque modification du frontend, en particulier d’un Composant de Vues.js:
npm install && npm run dev
Alternativement, pour lancer le moniteur et compilation automatique:
npm run watch
Vider les caches et les fichiers pré-compilés, optimiser
php artisan optimize:clear
Optimiser le projet et ré-initialiser l’autoload:
composer dump-autoload
Commandes Artisan: aide
Les commandes doivent être lancées depuis la racine du projet laravel, qui contient le fichier artisan.php.
Liste des commandes Artisan:
php artisan list
Aide sur une commande Artisan:
php artisan help ui
Commandes Artisan: migrate
Interface de commandes en lignes mettant à disposition des fonctions d’aide pour créer le projet.
Remarque: consulter et respecter les conventions de nommage des tables et colonnes de Laravel (décrites par exemple sur le blog WebDevEtc).
Attention: si l’application Laravel est lancée depuis un conteneur Docker, il se peut que la configuration du DB_HOST dans le fichier des variables d’environnement .env pose problème: en effet la valeur de DB_HOST doit correspondre au nom du conteneur mysql, mais ce domaine n’est pas reconnue lorsqu’on lance une commande Artisan nécessitant une connexion à la base de données en dehors du conteneur ce qui provoque une erreur du type: « php_network_getaddresses: getaddrinfo failed ». La solution consiste alors à configurer les variables de connexion spécifiquement pour artisan dans le fichier .env.artisan par exemple , et à l’utiliser à l’aide de l’option --env=artisan
comme ci-dessous:
php artisan --env=artisan [commande]
Créer un nouveau fichier de migration:
php artisan make:migration create_[nom_table]_table
Mettre à jour la base de données à partir des fichiers de migration:
php artisan migrate
Rollback:
php artisan migrate:rollback
Rafraichissement des tables: drop des tables puis rejouer tous les fichiers de migration:
php artisan migrate:fresh
A la différence du drop, la commande migrate:refresh effectue un rollback des tables avant de rejouer les migrations. En phase de développement on utilisara plutôt la commande artisan:fresh.
Commandes Artisan: création de Modèles Eloquent, Contrôleurs, Factory
Création d’un Modèle Eloquent (convention de nommage: nom de la table avec Majuscule et au singulier):
php artisan make:model [Nom du modèle]
Utiliser les options -c pour ajouter la création du Contrôleur, -m pour celle de la Migration, -f pour la Factory, -a pour créer à la fois la Migration, le Controleur et la Factory. Exemple pour créer le Modèle, le Controleur et la Migration:
php artisan make:model [Nom du modèle] -cm
Créer le modèle d’une table Pivot:
php artisan make:model [Nom du modèle] -p
Commandes Artisan: Seeder
Le fichier Seeder permettent d’initialiser les tables du modèle de données avec des enregistrements.
php artisan make:seeder UsersTableSeeder
Après le développeement d’un nouveau Seeder, il est utile de recharger l’autoload de Composer:
composer dump-autoload
Pour lancer les alimentation définies dans les Seeders:
php artisan db:seed
Egalement possible avec la commande Artisan: fresh (suppression des tables et rejeu des migrations):
php artisan migrate:fresh --seed
Déploiement avec Envoy
Consulter la documentation du package Laravel « Envoy ».
Lancement d’une tâche de déploiement définie dans le fichier Envoy.blade.php
(ici appelée ‘deploy’) :
envoy run deploy