
Commandes Artisan indispensables : `php artisan serve`, `php artisan make:controller`, `php artisan make:model`, `php artisan route:list`
Maîtrisez les commandes Artisan essentielles de Laravel : `php artisan serve` pour lancer votre serveur, `make:controller` et `make:model` pour générer du code, et `route:list` pour visualiser vos routes.
Les piliers d'Artisan : Quatres commandes pour une productivité accrue
L'interface en ligne de commande Artisan est un outil puissant qui simplifie de nombreuses tâches courantes lors du développement avec Laravel. Parmi la multitude de commandes disponibles, certaines se distinguent par leur utilité fréquente et leur impact direct sur votre productivité. Ce sous-chapitre se concentre sur quatre de ces commandes fondamentales : php artisan serve, php artisan make:controller, php artisan make:model, et php artisan route:list. Comprendre leur fonctionnement et savoir quand les utiliser vous permettra de naviguer plus aisément dans l'écosystème Laravel et d'accélérer significativement votre flux de travail. Ces commandes sont les briques de base pour interagir avec votre application, générer du code structuré et inspecter la configuration de votre routage.
php artisan serve : Lancez votre application en un clin d'oeil
La commande php artisan serve est souvent la première que vous exécutez après avoir créé ou cloné un projet Laravel. Son rôle est de démarrer le serveur de développement PHP intégré, rendant votre application accessible localement via un navigateur web. C'est un moyen simple et rapide de visualiser vos modifications en temps réel sans avoir à configurer un serveur web complexe comme Apache ou Nginx pour l'environnement de développement.
Par défaut, cette commande rendra votre application disponible à l'adresse http://127.0.0.1:8000. Si le port 8000 est déjà utilisé ou si vous souhaitez utiliser un port différent, vous pouvez le spécifier avec l'option --port.
# Lance le serveur sur le port par défaut (8000)
php artisan serve
# Lance le serveur sur le port 8080
php artisan serve --port=8080
# Lance le serveur sur un hôte spécifique (utile avec des machines virtuelles ou Docker)
php artisan serve --host=0.0.0.0
# Accessible ensuite via l'IP de la machine sur le port 8000Il est important de noter que ce serveur de développement est conçu pour des besoins de développement et n'est pas recommandé pour des environnements de production. Pour la production, des solutions plus robustes et sécurisées sont nécessaires.
php artisan make:controller : Générez vos contrôleurs sans effort
Les contrôleurs sont au coeur de l'architecture MVC (Modèle-Vue-Contrôleur) de Laravel. Ils reçoivent les requêtes, interagissent avec les modèles pour récupérer ou manipuler des données, et retournent des vues ou des réponses JSON. La commande php artisan make:controller NomDuControleurController automatise la création de ces fichiers de contrôleur, vous faisant gagner du temps et assurant le respect des conventions de nommage et de structure.
Vous pouvez créer un contrôleur simple, un contrôleur de ressources pré-rempli avec les méthodes CRUD (Create, Read, Update, Delete), ou même un contrôleur invocable qui ne contient qu'une seule méthode __invoke.
# Crée un contrôleur simple nommé UserController
php artisan make:controller UserController
# Crée un contrôleur de ressources nommé PostController
# Il contiendra les méthodes index, create, store, show, edit, update, destroy
php artisan make:controller PostController --resource
# Crée un contrôleur de ressources pour un modèle spécifique
# Laravel tentera de deviner le nom du modèle (ex: Photo pour PhotoController)
php artisan make:controller PhotoController --resource --model=Photo
# Crée un contrôleur invocable (une seule action)
php artisan make:controller ShowDashboardController --invokable
# Crée un contrôleur d'API (sans les méthodes create et edit, typiques des vues HTML)
php artisan make:controller Api/ProductController --apiLes contrôleurs sont générés dans le répertoire app/Http/Controllers. Utiliser cette commande garantit que vos contrôleurs sont correctement placés et initialisés, prêts à recevoir la logique de votre application.
php artisan make:model : Créez vos modèles Eloquent et leurs migrations
Eloquent ORM est l'outil de Laravel pour interagir avec votre base de données de manière orientée objet. Chaque table de votre base de données a un "Modèle" correspondant qui est utilisé pour interagir avec cette table. La commande php artisan make:model NomDuModele génère ces classes de modèle, généralement dans le répertoire app/Models.
Une fonctionnalité très pratique est la possibilité de générer simultanément le fichier de migration associé au modèle en utilisant l'option -m ou --migration. Les migrations permettent de versionner la structure de votre base de données. D'autres options utiles peuvent générer des factories, des seeders, et même des contrôleurs en lien avec le modèle.
# Crée un modèle simple nommé Comment
php artisan make:model Comment
# Crée un modèle Article et sa migration correspondante
php artisan make:model Article -m
# ou
php artisan make:model Article --migration
# Crée un modèle Product, sa migration et une factory
php artisan make:model Product -mf
# ou
php artisan make:model Product --migration --factory
# Crée un modèle, une migration, une factory, un seeder et un contrôleur de ressources
php artisan make:model Task -all
# (équivalent à -mfsr ou --migration --factory --seeder --resource --controller, selon la version de Laravel)
# Crée un modèle et sa policy
php artisan make:model Invoice --policyL'utilisation de make:model avec ses options vous aide à structurer votre application et à préparer rapidement l'interaction avec votre base de données, en suivant les meilleures pratiques de Laravel.
php artisan route:list : Visualisez et débuggez vos routes
A mesure que votre application grandit, le nombre de routes peut devenir important. La commande php artisan route:list est un outil de diagnostic indispensable qui affiche une liste complète de toutes les routes définies dans votre application. Pour chaque route, elle indique la méthode HTTP (GET, POST, PUT, etc.), l'URI, le nom (si vous en avez défini un), l'action (généralement une méthode de contrôleur ou une closure), et les middlewares appliqués.
Cette commande est extrêmement utile pour :
- Vérifier qu'une route est correctement définie.
- S'assurer qu'il n'y a pas de conflits d'URI.
- Trouver rapidement le nom d'une route pour l'utiliser dans des fonctions comme
route(). - Comprendre quels middlewares protègent quelles routes.
# Affiche toutes les routes
php artisan route:list
# Affiche les routes de manière plus compacte
php artisan route:list --compact
# Filtre les routes par méthode HTTP
php artisan route:list --method=POST
# Filtre les routes par URI (contient 'admin')
php artisan route:list --path=admin
# Filtre les routes par nom (commence par 'profile.')
php artisan route:list --name=profile.
# Exclure les routes des vendors (paquets installés)
php artisan route:list --except-vendor
# Trier les routes par URI, méthode, nom, etc.
php artisan route:list --sort=uriPrendre l'habitude d'utiliser php artisan route:list régulièrement peut vous sauver beaucoup de temps lors du débogage des problèmes liés au routage ou simplement pour avoir une vue d'ensemble claire de la surface d'attaque HTTP de votre application.