Laravel est un framework PHP élégant conçu pour simplifier le développement d'applications Web modernes. Lorsque vous créez un nouveau projet Laravel, il est livré avec une structure de répertoires bien organisée qui encourage les meilleures pratiques et une séparation claire des préoccupations. Plongeons dans les principaux répertoires et leurs objectifs.
Une nouvelle installation de Laravel contient les répertoires de clés suivants :
project-root/ |-- app/ |-- bootstrap/ |-- config/ |-- database/ |-- public/ |-- resources/ |-- routes/ |-- storage/ |-- tests/ |-- vendor/
C'est le cœur de votre application où réside l'essentiel de votre logique. Le répertoire app/ contient des sous-dossiers pour divers composants d'application :
Console/ : contient des commandes Artisan personnalisées.
Événements/ : définit les événements que votre application peut écouter.
Exceptions/ : gère les exceptions et les rapports d'erreurs personnalisés.
Http/:
Contrôleurs/ : héberge les contrôleurs de votre application.
Middleware/ : stocke le middleware pour filtrer les requêtes HTTP.
Modèles/ : L'emplacement par défaut de vos modèles Eloquent.
Observateurs/ : organise des classes d'observateurs pour gérer les événements de modèle.
Politiques/ : contient la logique d'autorisation pour des modèles spécifiques.
Fournisseurs/ : stocke les fournisseurs de services qui démarrent diverses parties de l'application.
Ce répertoire contient les fichiers d'amorçage initiaux de l'application. Le fichier le plus remarquable ici est app.php, qui initialise le framework Laravel.
De plus, il contient un dossier cache/ pour stocker les fichiers de cache générés par le framework afin d'améliorer les performances.
Comme son nom l'indique, ce répertoire contient tous les fichiers de configuration de votre application. Ces fichiers vous permettent de gérer les paramètres des services, des connexions aux bases de données, de la messagerie, de la mise en cache, etc. Par exemple :
app.php pour les paramètres de base de l'application.
database.php pour les configurations de base de données.
mail.php pour les paramètres du service de messagerie.
Ce répertoire gère tous les fichiers liés à la base de données :
factories/ : contient des classes d'usine pour l'amorçage des données de test.
migrations/ : stocke les fichiers de migration pour définir le schéma de votre base de données.
seeders/ : héberge des seeders pour remplir votre base de données avec des exemples de données.
Ce répertoire est le point d'entrée des requêtes web et contient les fichiers front-face de votre application. Les contenus clés incluent :
index.php : Le fichier principal qui gère toutes les requêtes entrantes.
Actifs statiques tels que des images, des fichiers CSS et JavaScript.
Ce répertoire stocke les ressources applicatives qui seront compilées ou utilisées pour générer des vues. Les sous-répertoires incluent :
views/ : contient les fichiers de modèle Blade pour le front-end de votre application.
lang/ : contient les fichiers de langue pour la localisation.
css/ et js/ (à l'intérieur de sass/ et js/) : dossiers par défaut pour vos ressources CSS et JavaScript.
C’est ici que réside la logique de routage de votre application. Laravel fournit des fichiers séparés pour différents types d'itinéraires :
web.php : gère les itinéraires pour les requêtes Web (généralement avec des sessions et des cookies).
api.php : gère les routes pour les requêtes API (sans état).
console.php : définit les commandes Artisan personnalisées.
channels.php : Définit les canaux de diffusion d'événements.
Ce répertoire contient les fichiers générés par votre application et le framework lui-même :
app/ : stocke les fichiers générés par l'application.
framework/ : stocke les caches de framework, les sessions et les vues compilées.
logs/ : contient des fichiers journaux pour le débogage et le suivi des erreurs.
Tous les tests d'application sont stockés ici. Par défaut, il inclut des répertoires pour les tests de fonctionnalités et unitaires :
Fonctionnalité/ : tests qui évaluent la fonctionnalité de l'ensemble de la pile d'applications.
Unit/ : Tests qui valident des fonctions ou des classes spécifiques.
Ce répertoire contient tous les packages tiers installés via Composer. Vous ne devez jamais modifier ce dossier directement.
Lors du développement dans Laravel, comprendre le but de chaque répertoire vous aide à organiser votre code logiquement. Par exemple :
Placez la logique métier dans les modèles dans app/Models.
Écrivez des itinéraires personnalisés dans routes/web.php ou routes/api.php.
Conservez les composants réutilisables, tels que les mises en page, dans les ressources/vues.
Suivez les conventions de Laravel : Laravel a une structure prédéfinie pour une raison : respectez-la sauf en cas d'absolue nécessité.
Utilisez des sous-dossiers pour l'évolutivité : pour les projets plus volumineux, envisagez de créer des sous-dossiers dans les contrôleurs ou les modèles pour regrouper les fichiers associés.
Exploitez les commandes artisanales : utilisez des commandes telles que php artisan make:model, php artisan make:controller, etc., pour placer automatiquement les fichiers aux emplacements corrects.
En maîtrisant la structure de répertoires de Laravel, vous gagnerez en confiance pour naviguer, maintenir et faire évoluer vos projets efficacement. Restez à l'écoute pour le jour 4, où nous plongerons dans la configuration de Laravel en fonction de vos besoins de développement !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!