Structure de Symfony
Sommaire
- 1- Objectifs
- 2- Présentation
- 3- Les répertoires de l'application
- 3.1- Répertoire
src
: - 3.2- Controller :
- 3.3- Entity :
- 3.4- Service :
- 3.5- Repository :
- 3.6- Répertoire
config
: - 3.7- Répertoire
var
: - 3.8- Dossier
config
: - 3.9- Dossier
public
: - 3.10- Dossier
resources
: - 3.11- Dossier
routes
: - 3.12- Dossier
var
: - 3.13- Dossier
vendor
: - 4- Les fichiers de l'application
- 4.1- Fichier
.env
: - 4.2- Fichier
console
: - 4.2.1- Cours Symfony
Structure de Symfony
-
Objectifs
- Comprendre l’organisation des répertoires constituant le Framework Symfony.
-
Présentation
- Une application Symfony est composée de plusieurs répertoires à la racine. Comprendre leur contenu est essentiel pour appréhender efficacement le développement et améliorer la compréhension du fonctionnement du Framework.
-
Les répertoires de l’application
- Jetons un coup d’œil à la structure d’un nouveau projet Symfony :
- Voici une description du contenu des principaux répertoires :
-
Répertoire
src
: - Le répertoire src est crucial dans votre projet Symfony. Il contient l’ensemble de votre code PHP (contrôleurs, entités, services, etc.) :
-
Controller :
- Contient les contrôleurs de votre application, qui gèrent les requêtes HTTP.
-
Entity :
- Comprend les entités Doctrine qui représentent les objets métier et correspondent aux tables de la base de données.
-
Service :
- Contient les services de votre application, qui fournissent des fonctionnalités réutilisables.
-
Repository :
- Contient les classes Repository pour interagir avec la base de données.
-
Répertoire
config
: - Le répertoire config contient les fichiers de configuration de Symfony. Chaque fichier correspond à une partie spécifique de la configuration de l’application :
- Configuration des routes, des services, de la sécurité, etc.
- Toute la configuration de Symfony se trouve dans le répertoire config.
- Par exemple, la configuration de la base de données se trouve dans le fichier config/packages/doctrine.yaml.
-
Répertoire
var
: - Le répertoire var contient les fichiers variables, tels que les logs, le cache et les sessions :
logs/
: Les fichiers journaux de l’application.cache/
: Les fichiers cache générés par Symfony.sessions/
: Les fichiers de sessions utilisateur.-
Dossier
config
: - Le dossier config contient les fichiers de configuration de Symfony, y compris la configuration de la base de données :
- migrations/ :
- Les migrations permettent de décrire la structure de la base de données et d’effectuer des opérations comme la création, la modification ou la suppression de tables et de colonnes de manière automatisée.
- Les migrations sont un moyen pratique et fiable de gérer l’évolution de la base de données.
-
Dossier
public
: - Le dossier public contient les ressources accessibles directement par les visiteurs du site :
- Tous les fichiers statiques tels que les images, les CSS et les scripts doivent être placés dans ce dossier.
- index.php :
- Le fichier index.php est le point d’entrée de l’application Symfony, responsable de lancer le framework et de diriger les requêtes vers les contrôleurs appropriés.
- Il est crucial pour le fonctionnement de l’application Symfony.
-
Dossier
resources
: - Le dossier resources contient les vues, les fichiers de langage et les assets :
- C’est l’endroit où vous stockez les fichiers utilisés pour la présentation et la localisation de votre application Symfony.
- Les fichiers de langage peuvent être utilisés pour internationaliser votre application.
-
Dossier
routes
: - Le dossier routes gère les URL d’entrée de l’application :
- Il contient les fichiers de configuration des routes, qui associent des URL aux contrôleurs et aux actions correspondantes.
- La définition des routes est essentielle pour la navigation dans votre application Symfony.
-
Dossier
var
: - Le dossier var contient les données temporaires de l’application :
- app/ :
- Le sous-dossier app contient les fichiers générés par votre application, tels que les fichiers de sortie de traitement, les fichiers de cache et les clés de session.
- Framework/ :
- Le sous-dossier Framework contient des fichiers utilisés exclusivement par le framework Symfony lui-même. Il est recommandé de ne pas modifier ces fichiers.
- logs/ :
- Le sous-dossier logs contient les fichiers de journalisation de l’application, qui enregistrent les informations sur l’activité de l’application, les erreurs rencontrées, etc.
-
Dossier
vendor
: - Le dossier vendor contient toutes les dépendances PHP téléchargées par Composer :
- Cela inclut les fichiers de test, les composants Symfony et toutes les dépendances de votre projet.
- Il est essentiel de ne pas modifier les fichiers de ce dossier car ils seront écrasés lors des mises à jour de dépendances.
- Composer gère automatiquement ce dossier et les packages qu’il contient.
-
Les fichiers de l’application
- À la racine de notre projet Symfony, divers fichiers ont été ajoutés par Composer :
- Ces fichiers incluent principalement des configurations pour des outils externes tels que Git, Composer, NPM, PHPUnit, etc.
-
Fichier
.env
: - Le fichier .env contient les informations sensibles de votre application Symfony, telles que les mots de passe de base de données et les clés secrètes.
- Ce fichier ne doit jamais être partagé en dehors de l’équipe de développement. Pour faciliter la configuration, un fichier .env.example est généralement fourni avec des valeurs d’exemple.
-
Fichier
console
: - Le fichier console permet de lancer des commandes Symfony, similaires à artisan dans Laravel :
- Des commandes telles que php bin/console server:start peuvent être utilisées pour diverses tâches de développement, telles que le démarrage du serveur de développement.