L'architecture Symfony
/bin
Le dossier sert principalement aux deux outils de symfony :
La console permettant d'exécuter les commandes principales
PHPUnit, qui permet de lancer des tests automatisés.
/config
Le dossier contient toutes les configurations de l'application :
Les fichiers de routing ne seront pas à modifier car nous utiliserons directement les annotations
Les fichiers de Config/packages/ représente la configuration des bundles associé à notre application.
La configuration spécifique à un environnement prévaut sur la configuration générale
/public
Le fichier public remplace le fichier Web de Symfony 3.
Il s'agit du seul dossier disponible sur le web, toutes les assets non critiques (valeur importante tels que les contrats, factures, etc .) y sont disposées dans le dossier assets.
Le contrôleur index.php est également dans ce dossier et ne doit en aucun cas être modifié.
Tout contenu supplémentaire doit être dans le dossier assets puis dans sa catégorie (
CSS / Image / JS)
/src
Ce dossier est le plus important car il contient tous les Controlleurs, les formulaires, ainsi que les entités et les répository.
/template
Ce dossier contient toutes les vues de l'application.
/tests
Ce dossier contient les tests automatisés pouvant être lancés par PHPUnit.
/translation
Ce dossier contient les dictionnaires de mots nécessaire aux multi-langages.
/var
Ce dossier comporte le cache ainsi que les logs de l'application par environnement.
/vendor
Ce dossier contient les bundles et composants de symfony4.
Ce dossier est principalement géré par Composer (voir Commandes)