Structure de Laravel
Sommaire
- 1- Objectifs
- 2- Présentation
- 3- Les dossiers de l'application
- 3.1- Dossier
app
: - 3.2- Console :
- 3.3- Exceptions:
- 3.4- Http :
- 3.5- models :
- 3.6- Providers :
- 3.7- Dossier
bootstrap
: - 3.8- Dossier
config
: - 3.9- Dossier
database
: - 3.10- Dossier
public :
- 3.11- Dossier
resources
: - 3.12- Dossier
routes
: - 3.13- Dossier
storage
: - 3.14- app
- 3.15- Framework
- 3.16- logs
- 3.17- Dossier
vendor
: - 4- Les fichiers de l'application
- 4.1- Fichier
.env
: - 4.2- Fichier
artisan
: - 4.2.1- Sommaire du cours Laravel
Structure de Laravel
-
Objectifs
- Connaître le contenu des dossiers constituant le Framework Laravel.
-
Présentation
- Une application Laravel contient plusieurs dossiers à la racine. Connaître leur contenu permet de mieux appréhender le développement par la suite et d’améliorer la compréhension du fonctionnement du Framework.
-
Les dossiers de l’application
- Maintenant qu’on a un Laravel tout neuf et qui fonctionne voyons un peu ce qu’il contient…
- Voici à quoi doit ressembler le dossier du projet après l’installation :
- Voici une description du contenu des autres dossiers :
-
Dossier
app
: - Le dossier app est le dossier le plus important de votre projet. C’est celui qui contiendra votre application, c’est à dire, tout votre code PHP (fonctions, classes…):
-
Console :
- toutes les commandes en mode console,
-
Exceptions:
- Ce répertoire contient le gestionnaire d’exceptions de votre application et est également un bon endroit pour coller toutes les exceptions levées par votre application.
-
Http :
- tout ce qui concerne la communication : contrôleurs, middlewares (il y a 4 middlewares de base qui servent à filtrer les requêtes HTTP) et le kernel,
-
models :
- un modèle qui concerne les utilisateurs pour la base de données.
-
Providers :
- tous les fournisseurs de services (providers), il y en a déjà 5 au départ. Les providers servent à initialiser les composants.
-
Dossier
bootstrap
: - Ce dossier contient les scripts d’initialisation de Laravel pour le chargement automatique des classes, la fixation de l’environnement et des chemins, et pour le démarrage de l’application,
-
Dossier
config
: - Le dossier config permet la configuration du Framework. À l’intérieur, chaque fichier correspond à une fonctionnalité configurable. Par exemple, le fichier config/database.php contient un tableau PHP avec différentes valeurs de configuration pour l’URL de la base de données, l’utilisateur, le mot de passe…
- toutes les configurations : application, authentification, cache, base de données, espaces de noms, emails, systèmes de fichier, session…
- Tout ce qui concerne la configuration de Laravel se trouve dans le dossier config
- Toute la configuration de diffusion d’événements de votre application est stockée dans le fichier de configuration config/broadcasting.php .
-
Dossier
database
: - Le dossier database permet la gestion de la base données.
- Il contient trois sous-dossier:
- migrations
- Les migrations sont des fichiers permettant de décrire votre base de données afin de permettre à Laravel de créer, modifier ou supprimer les tables et les colonnes automatiquement pour vous.
- Si vous avez déjà utilisé PHPMyAdmin, les migrations remplacent une partie l’utilisation de PHPMyAdmin.
-
Dossier
public :
- tout ce qui doit apparaître dans le dossier public du site : images, CSS, scripts…
- Le dossier public contient tous les fichiers accessibles directement par vos visiteurs.
- Par exemple, si vous avez des images publiques sur votre site, elles doivent être dans le dossier public (ou dans un sous-dossier du dossier public). Même chose pour vos fichiers CSS et JavaScript.
- Laravel fournit de base quelques fichiers utiles comme un favicon, un fichier robots.txt…
- Le fichier index.php est la porte d’entrée de votre application. C’est le seul fichier PHP accessible de l’extérieur et il sera responsable de lancer le framework et d’appeler votre code situé dans le dossier app. Vous n’aurez jamais à modifier ce fichier directement car, comme dit précédemment, notre code PHP se trouve dans le dossier app.
-
Dossier
resources
: - vues, fichiers de langage et assets (par exemple les fichiers Sass),
-
Dossier
routes
: - la gestion des urls d’entrée de l’application,
-
Dossier
storage
: - Contient les données temporaires de l’application : vues compilées, caches, clés de session…
-
app
- Le sous-dossier app contient tous les fichiers générés par votre application, par exemple des factures PDF, les photos de profil de vos utilisateurs, etc.
-
Framework
- Le sous-dossier Framework contient des fichiers utilisés uniquement par le Framework. Il est recommandé de ne pas ajouter ou supprimer de fichiers à ce dossier.
-
logs
- Le sous-dossier logs contient les fichiers de logs de votre application.
- Les fichiers de logs contiennent des informations sur l’activité de votre application.
- Par défaut, Laravel enregistrera dans un fichier storage/logs/laravel-YYYY-MM-DD.log tous les problèmes rencontrés par votre application : très utile pour comprendre pourquoi votre site ne fonctionne pas par exemple.
-
Dossier
vendor
: - Le dossier vendor contient toutes les dépendances PHP téléchargées par Composer.
- fichiers de tests,
- tous les composants de Laravel et de ses dépendances (créé par composer),
- Vous ne devez jamais changer les fichiers de ce dossier, car ces modifications seront écrasées par Composer à la prochaine mise à jour.
- Ce dossier contient une liste longue de sous-dossier
-
Les fichiers de l’application
- À la racine de notre projet, Composer a également ajouté de nombreux fichiers.
- La plupart sont des fichiers de configuration pour des outils externes (Git, Composer, NPM, PHPUnit…) et nous ne les utiliserons pas avant d’avoir découvert ces outils.
-
Fichier
.env
: - Les fichiers .env contient les mots de passe de vos services ainsi que toutes les données sensibles de votre application (mot de passe de base de données, adresse de la base de données…).
- Ce fichier ne doit jamais être partagé. Afin de connaître les informations à renseigner, il existe un fichier .env.example qui contient uniquement des valeurs d’exemple.
-
Fichier
artisan
: - Le fichier artisan permet de lancer des commandes comme php artisan serve. Ces commandes vont nous permettre de faire beaucoup de choses avec Laravel et nous verrons au fur et à mesure des tutoriels les différentes commandes existantes.