artisan est un petit utilitaire en ligne de commande. Il permet d'automatiser certaines opérations. Cet outil est basé sur la console Symfony.
Les commandes artisan sont lancées à partir de la console ssh.
Vous devez vous placer dans le dossier de votre application sur la machine virtuelle avant de lancer une commande artisan (ex : cd ~/code/monprojet).
Dans l'ordre, voici les étapes permettant de vous rendre à artisan :
Lorsque votre application Laravel est en ligne en hébergement partagé, il est parfois possible d'avoir accès à une ligne de commande pour entrer vos commandes artisan.
Par exemple, chez GreenGeeks, vous pouvez lancer une commande artisan à partir du Terminal qui se trouve dans le cPanel, dans la section Advanced. Comme sur un poste local, vous devez vous déplacer dans le dossier de votre application, qui correspondra généralement au dossier public_html.
Malheureusement, certains hébergeurs n'offrent pas cette possibilité. C'est pourquoi, dans le tableau présenté plus bas, il est parfois indiqué quels fichiers sont affectés par une commande. Il sera alors possible de faire l'équivalent de la commande artisan en manipulant vous-mêmes vos fichiers.
Les commandes artisan sont définies dans le dossier monprojet\vendor\laravel\framework\src\Illuminate\...\Console (ex : monprojet\vendor\laravel\framework\src\Illuminate\Database\Console\Migrations\MigrateCommand.php). Il est donc possible de voir le code exécuté par une commande. Mais prenez soin de ne pas modifier ces fichiers puisqu'ils font partie du coeur de Laravel.
Au besoin, il est possible de créer vos propres commandes artisan.
Voici quelques commandes artisan intéressantes :
Commande | Utilité | Exemple |
---|---|---|
php artisan list | Affiche une liste des commandes artisan. | |
php artisan help | Affiche l'aide sur une commande. | php artisan help migrate |
php artisan --version ou php artisan -V |
Affiche la version de Laravel. | |
php artisan make:migration | Génère un fichier de migration qui consiste en une classe qui contiendra la définition de la table ou des modifications à apporter à la table. |
php artisan make:migration create_produits_table --create produits php artisan make:migration change_produits_ville_column --table produits |
php artisan migrate | Exécute les méthodes up() des fichiers de migration afin que les modifications soient reflétées dans la base de données. | |
php artisan migrate:rollback | Exécute les méthodes down() des fichiers de migration afin de remettre la base de données dans son état original. | |
php artisan migrate:refresh --seed |
Recrée la structure de la base de données et remet ses données de seeds en place. | |
php artisan make:seeder |
Génère un fichier de seeds. | php artisan make:seeder ProduitsTableSeeder |
php artisan db:seed |
Exécute tous les fichiers de seeds qui sont listés dans le fichier DatabaseSeeder.php ou seulement le fichier listé. |
php artisan db:seed php artisan db:seed --class=ProduitsTableSeeder |
php artisan make:model | Génère un fichier modèle qui servira d'interface entre la base de données et le code PHP. Si on ajoute --migration, générera également le fichier de migration au format aaaa_mm_jj_hhmmss_create_NomClasse_table. |
php artisan make:model Produit php artisan make:model Produit --migration |
php artisan make:controller |
Génère un contrôleur. On peut ajouter --resource pour ajouter un squelette des méthodes d'action CRUD (index(), create(), store(), show(), edit(), update() et destroy()). |
php artisan make:controller ProduitsController php artisan make:controller ProduitsController --resource |
php artisan make:request |
Génère un fichier Request dans lequel on codera les règles de validation des champs d'un formulaire associé à un modèle. Le fichier sera placé dans le dossier monprojet/app/Http/Requests. Pour la classe qui sera dérifée de Request, il est d'usager d'utiliser le nom du modèle suivi de Request. |
php artisan make:request ProduitRequest |
php artisan make:console | Met en place ce qu'il faut pour créer nos propres commandes artisan. |
php artisan make:console macommande |
php artisan make:middleware | Met en place ce qu'il faut pour créer nos propres middleware, comme par exemple une redirection quand n'a pas les droits requis |
php artisan make:middleware nomdumiddleware |
php artisan make:policy |
Crée un fichier de politique d'accès. Le fichier sera placé dans le dossier monprojet/app/Policies. Il est d'usage de nommer la classe avec le nom du modèle à laquelle elle est associée suivi de Policy. |
php artisan make:policy ProduitPolicy |
php artisan tinker |
Accès à l'outil tinker qui permet d'interroger une BD en ligne de commande. | |
php artisan clear-compiled |
||
|
Cette commande a été retirée depuis Laravel 5.6 : https://laravel-news.com/laravel-5-6-removes-artisan-optimize | |
php artisan route:list |
Affiche une liste des routes en vigueur. | |
php artisan config:cache |
Met les configurations en cache. Le fichier .env ne sera alors plus chargé en mémoire. Crée le fichier monprojet/bootstrap/cache/config.php. À utiliser seulement dans l'environnement de production. |
|
php artisan config:clear |
Supprime le cache des configurations et ne le recrée pas. Pour obtenir le même résultat sans artisan : suprimer le fichier monprojet/bootstrap/cache/config.php. |
|
php artisan route:cache |
Met les définitions de routes en cache. Crée le fichier monprojet/bootstrap/cache/routes.php. À utiliser seulement dans l'environnement de production. |
|
php artisan route:clear |
Supprime le cache des routes et ne le recrée pas. Pour obtenir le même résultat sans artisan : supprimer le fichier monprojet/bootstrap/cache/routes.php. |
|
php artisan view:clear |
Vide le cache des vues (sera recréé automatiquement). Le cache des vues correspond aux fichiers contenus dans le dossier monprojet/storage/framework/views. |
|
php artisan cache:clear |
Vide le cache de l'application (les informations stockées par programmation à l'aide de la façade Cache). On peut obtenir le même résultat par programmation à l'aide de la commande Cache::flush(); Si l'application utilise le dépôt file, ceci revient à supprimer le contenu du dossier le dossier monprojet/storage/framework/cache/data. |
|
php artisan optimize:clear |
Libère toutes les informations, routes, vues et configurations mises en cache. Voici la sortie de cette commande : Compiled views cleared! |
|
php artisan down |
Place le site en mode maintenance. Pour obtenir le même résultat sans artisan : créer un fichier vide nommé down, sans extension, dans le dossier monprojet/storage/framework. |
|
php artisan up |
Sort du mode maintenance. Pour obtenir le même résultat sans artisan : supprimer le fichier monprojet/storage/framework/down. |
|
php artisan key:generate |
Génère une clé d'encryption à utiliser dans .env pour APP_KEY. | |
php artisan make:provider |
php artisan make:provider ViewComposerServiceProvider |
|
php artisan vendor:publish |
« Laravel Artisan Syntax ». Tutorial Laravel. http://www.tutoriallaravel.com/laravel-syntax/laravel-artisan-syntax
▼Publicité