Structure Laravel App
La structure d'application par défaut de Laravel est destinée à fournir un excellent point de départ pour les grandes et les petites applications. Mais vous êtes libre d'organiser votre candidature comme bon vous semble. Laravel n'impose presque aucune restriction sur l'emplacement d'une classe donnée - tant que Composer peut charger automatiquement la classe.
Le répertoire racine
Le répertoire des applications
Le répertoire de l'application contient le code principal de votre application. Nous explorerons ce répertoire plus en détail prochainement ; cependant, presque toutes les classes de votre application seront dans ce répertoire.
Le répertoire Bootstrap
Le répertoire bootstrap contient le fichier app.php qui amorce le framework. Ce répertoire abrite également un répertoire de cache qui contient les fichiers générés par le framework pour l'optimisation des performances, tels que les fichiers de cache de route et de services. Vous ne devriez généralement pas avoir besoin de modifier les fichiers de ce répertoire.
Le répertoire de configuration
Le répertoire config, comme son nom l'indique, contient tous les fichiers de configuration de votre application. C'est une excellente idée de lire tous ces fichiers et de vous familiariser avec toutes les options qui s'offrent à vous.
Le répertoire de la base de données
Le répertoire de la base de données contient vos migrations de base de données, les fabriques de modèles et les valeurs de départ. Si vous le souhaitez, vous pouvez également utiliser ce répertoire pour contenir une base de données SQLite.
L'annuaire public
Le répertoire public contient le fichier index.php, qui est le point d'entrée de toutes les requêtes entrant dans votre application et configure le chargement automatique. Ce répertoire contient également vos ressources telles que les images, JavaScript et CSS.
Le répertoire des ressources
Le répertoire des ressources contient vos vues ainsi que vos ressources brutes non compilées telles que CSS ou JavaScript. Ce répertoire contient également tous vos fichiers de langue.
Le répertoire des itinéraires
Le répertoire routes contient toutes les définitions de routes pour votre application. Par défaut, plusieurs fichiers de route sont inclus avec Laravel : web.php, api.php, console.php et channels.php.
Le fichier web.php contient les routes que le RouteServiceProvider place dans le groupe de middleware Web, qui fournit l'état de la session, la protection CSRF et le cryptage des cookies. Si votre application n'offre pas d'API RESTful sans état, il est probable que toutes vos routes seront définies dans le fichier web.php.
Le fichier api.php contient les routes que le RouteServiceProvider place dans le groupe middleware api. Ces routes sont destinées à être sans état, donc les demandes entrant dans l'application via ces routes sont destinées à être authentifiées via des jetons et n'auront pas accès à l'état de la session.
Le fichier console.php est l'endroit où vous pouvez définir toutes vos commandes de console basées sur la fermeture. Chaque fermeture est liée à une instance de commande permettant une approche simple pour interagir avec les méthodes d'E/S de chaque commande. Même si ce fichier ne définit pas les routes HTTP, il définit les points d'entrée (routes) basés sur la console dans votre application.
Le fichier channels.php est l'endroit où vous pouvez enregistrer tous les canaux de diffusion d'événements pris en charge par votre application.
Le répertoire de stockage
Le répertoire de stockage contient vos journaux, modèles Blade compilés, sessions basées sur des fichiers, caches de fichiers et autres fichiers générés par le framework. Ce répertoire est séparé en répertoires app, framework et logs. Le répertoire de l'application peut être utilisé pour stocker tous les fichiers générés par votre application. Le répertoire du framework est utilisé pour stocker les fichiers et les caches générés par le framework. Enfin, le répertoire logs contient les fichiers journaux de votre application.
Le répertoire storage/app/public peut être utilisé pour stocker des fichiers générés par l'utilisateur, tels que des avatars de profil, qui devraient être accessibles au public. Vous devez créer un lien symbolique sur public/storage qui pointe vers ce répertoire. Vous pouvez créer le lien en utilisant la commande php artisan storage:link Artisan.
Le répertoire des épreuves
Le répertoire tests contient vos tests automatisés. Des exemples de tests unitaires et de fonctionnalités PHPUnit sont fournis prêts à l'emploi. Chaque classe de test doit être suffixée avec le mot Test. Vous pouvez exécuter vos tests en utilisant les commandes phpunit ou php vendor/bin/phpunit. Ou, si vous souhaitez une représentation plus détaillée et plus belle de vos résultats de test, vous pouvez exécuter vos tests à l'aide de la commande php artisan test Artisan.
L'annuaire des fournisseurs
Le répertoire des fournisseurs contient vos dépendances Composer.