Laravel - Structure de l'application

La structure de l'application dans Laravel est essentiellement la structure des dossiers, sous-dossiers et fichiers inclus dans un projet. Une fois que nous avons créé un projet dans Laravel, nous obtenons un aperçu de la structure de l'application comme indiqué dans l'image ici.

L'instantané présenté ici fait référence au dossier racine de Laravel à savoir laravel-project. Il comprend divers sous-dossiers et fichiers. L'analyse des dossiers et des fichiers, ainsi que leurs aspects fonctionnels est donnée ci-dessous -

App

Il s'agit du dossier d'application et comprend l'intégralité du code source du projet. Il contient des événements, des exceptions et une déclaration de middleware. Le dossier de l'application comprend divers sous-dossiers comme expliqué ci-dessous -

Console

La console inclut les commandes artisanales nécessaires pour Laravel. Il comprend un répertoire nomméCommands, où toutes les commandes sont déclarées avec la signature appropriée. Le fichierKernal.php appelle les commandes déclarées dans Inspire.php.

Si nous devons appeler une commande spécifique dans Laravel, nous devons apporter les modifications appropriées dans ce répertoire.

Événements

Ce dossier comprend tous les événements du projet.

Les événements sont utilisés pour déclencher des activités, soulever des erreurs ou des validations nécessaires et offrir une plus grande flexibilité. Laravel conserve tous les événements dans un seul répertoire. Le fichier par défaut inclus estevent.php où tous les événements de base sont déclarés.

Exceptions

Ce dossier contient toutes les méthodes nécessaires pour gérer les exceptions. Il contient également le fichierhandle.php qui gère toutes les exceptions.

Http

le HttpLe dossier contient des sous-dossiers pour les contrôleurs, les intergiciels et les demandes d'application. Comme Laravel suit le modèle de conception MVC, ce dossier comprend le modèle, les contrôleurs et les vues définis pour les répertoires spécifiques.

le Middleware Le sous-dossier comprend un mécanisme de middleware, comprenant le mécanisme de filtre et la communication entre la réponse et la demande.

le Requests Le sous-dossier comprend toutes les demandes de l'application.

Travaux

le JobsLe répertoire maintient les activités en file d'attente pour l'application Laravel. La classe de base est partagée entre tous les Jobs et fournit un emplacement central pour les placer sous un même toit.

Les auditeurs

Les écouteurs dépendent des événements et incluent des méthodes utilisées pour gérer les événements et les exceptions. Par exemple, lelogin l'événement déclaré inclut un LoginListener un événement.

Stratégies

Les politiques sont les classes PHP qui incluent la logique d'autorisation. Laravel inclut une fonctionnalité pour créer toute la logique d'autorisation dans les classes de stratégie à l'intérieur de ce sous-dossier.

Fournisseurs

Ce dossier comprend tous les fournisseurs de services requis pour enregistrer les événements pour les serveurs principaux et pour configurer une application Laravel.

Amorcer

Ce dossier contient tous les scripts d'amorçage de l'application. Il contient un sous-dossier à savoircache, qui comprend tous les fichiers associés à la mise en cache d'une application Web. Vous pouvez également trouver le fichierapp.php, qui initialise les scripts nécessaires au bootstrap.

Config

le configLe dossier comprend diverses configurations et paramètres associés nécessaires au bon fonctionnement d'une application Laravel. Divers fichiers inclus dans le dossier de configuration sont comme indiqué dans l'image ici. Les noms de fichiers fonctionnent selon la fonctionnalité qui leur est associée.

Base de données

Comme son nom l'indique, ce répertoire comprend divers paramètres pour les fonctionnalités de la base de données. Il comprend trois sous-répertoires comme indiqué ci-dessous -

  • Seeds - Il contient les classes utilisées pour la base de données de test unitaire.

  • Migrations - Ce dossier facilite les requêtes de migration de la base de données utilisée dans l'application Web.

  • Factories - Ce dossier est utilisé pour générer un grand nombre d'enregistrements de données.

Publique

C'est le dossier racine qui permet d'initialiser l'application Laravel. Il comprend les fichiers et dossiers suivants -

  • .htaccess - Ce fichier donne la configuration du serveur.

  • javascript and css - Ces fichiers sont considérés comme des actifs.

  • index.php - Ce fichier est requis pour l'initialisation d'une application Web.

Ressources

Le répertoire Resources contient les fichiers qui améliorent votre application Web. Les sous-dossiers inclus dans ce répertoire et leur fonction sont expliqués ci-dessous -

  • assets - Le dossier des ressources comprend des fichiers tels que LESS et SCSS, nécessaires pour styliser l'application Web.

  • lang - Ce dossier comprend la configuration pour la localisation ou l'internalisation.

  • views - Les vues sont les fichiers ou modèles HTML qui interagissent avec les utilisateurs finaux et jouent un rôle principal dans l'architecture MVC.

Observez que le répertoire de ressources sera aplati au lieu d'avoir un dossier d'actifs. La représentation picturale de la même chose est montrée ci-dessous -

Espace de rangement

C'est le dossier qui stocke tous les journaux et fichiers nécessaires qui sont fréquemment nécessaires lors de l'exécution d'un projet Laravel. Les sous-dossiers inclus dans ce répertoire et leur objectif sont indiqués ci-dessous -

  • app - Ce dossier contient les fichiers appelés successivement.

  • framework - Il contient des sessions, un cache et des vues qui sont fréquemment appelés.

  • Logs - Toutes les exceptions et journaux d'erreurs sont suivis dans ce sous-dossier.

Des tests

Tous les cas de test unitaires sont inclus dans ce répertoire. La convention de dénomination des classes de cas de test estcamel_case et suit la convention selon la fonctionnalité de la classe.

Vendeur

Laravel est entièrement basé sur les dépendances de Composer, par exemple pour installer la configuration de Laravel ou pour inclure des bibliothèques tierces, etc. Le dossier Vendor inclut toutes les dépendances de compositeur.

En plus des fichiers mentionnés ci-dessus, Laravel comprend également d'autres fichiers qui jouent un rôle principal dans diverses fonctionnalités telles que la configuration de GitHub, les packages et les bibliothèques tierces.

Les fichiers inclus dans la structure de l'application sont présentés ci-dessous -