Comprendre Laravel 5.4 : Comment s’organise un projet ?

Une fois qu’on a installé Laravel dans notre nouveau projet, on va faire un rapide tour des dossiers et fichiers qui ont été ajoutés afin de comprendre un peu mieux.

Note : Si vous voulez regarder comment est articulé le projet sans l’installer, rdv sur le depôt Github Laravel.

On trouve des dossiers (qui sont tous privés sauf le dossier « public« , sécurité oblige ^^):
Dans le dossier “app” :

Console/Commands” : toutes les commandes en mode console, il y a en exemple la classe Inspire dans le fichier du même nom.
Jobs” : commandes concernant les tâches que doit effectuer l’application.
Events” : événements nécessaires pour l’application.
Exceptions” : ce qui concerne les exceptions.
Http” : tout ce qui est axé sur la communication, c-à-d les contrôleurs,middlewares et requêtes,
Providers” : tous les fournisseurs de services (4 providers à la base). Ils servent à initialiser les composants.
Policies” : gestion des droits d’accès.
User.php” : qui est un exemple de classe utilisateur pour la base de données.

bootstrap”: qui a les scripts d’initialisation de Laravel pour le chargement automatique des classes, les chemins pour le démarrage de l’application.
public”: qui est le SEUL dossier public du site : images, CSS, scripts…
vendor”: qui contient tous les composants de Laravel et ses dépendances.
config”: qui regroupe toutes les configurations de l’application, authentification, cache, database, namespace, emails, systèmes de fichier, session…
database” : pour les scripts de migration,
resources”: qui contient les vues, les fichiers de langue et assets (comme par exemple les fichiers LESS).
routes”: contenant le système de routing pour les vues, notamment le fichier web.php qui référence nos vues.
storage”: qui stocke des données temporaires de l’application (vues compilées, caches, clés de session…).
tests”: fichiers de tests unitaires

Il y a aussi des fichiers à la racine, dont notamment :

artisan” : l’outil de Laravel pour des tâches de gestion.
composer.json” : le fichier de configuration de Composer.
phpunit.xml” : le fichier de configuration de phpunit (pour les tests unitaires).
.env” : le fichier qui spécifie l’environnement d’exécution (notamment si on est en mode debug ou pas).

C’était pour un petit tour de notre projet tout neuf 😉

Doc. officielle sur la structure Laravel : https://laravel.com/docs/5.4/structure

Laisser un commentaire