Formation PUB030 : Laravel, 2019 Les outils de Laravel

2.4 artisan


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).

Commande artisan dans Homestead

Dans l'ordre, voici les étapes permettant de vous rendre à artisan :

  • Lancer Git bash (sous Windows) ou ouvrir le terminal (sous Mac)
  • Vous déplacer dans le dossier ~/Homestead
  • Démarrer les serveurs à l'aide de vagrant up
  • Lancer la commande ssh à l'aide vagrant ssh
  • Vous déplacer dans le dossier du projet sur la machine virtuelle (ex : ~/code/monprojet)
  • Lancer une commande débutant par php artisan

Commandes artisan sur une application en ligne

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 principales commandes artisan

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

     

php artisan optimize

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!
Application cache cleared!
Route cache cleared!
Configuration cache cleared!
Compiled services and packages files removed!
Caches cleared successfully!

 

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

   

Pour plus d'information

« Laravel Artisan Syntax ». Tutorial Laravel. http://www.tutoriallaravel.com/laravel-syntax/laravel-artisan-syntax

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre