Hostinger

La structure d'un projet Symfony

Lorsque vous créez un projet Symfony, le framework génère automatiquement une arborescence de dossiers et de fichiers. Cette structure respecte les bonnes pratiques de développement et favorise la clarté, la modularité et la maintenabilité du code. 👍

Vue d’ensemble du projet Symfony

Voici la structure d’un projet Symfony :

mon_projet/
|-- assets/
|-- bin/
|-- config/
|-- migration/
|-- public/
|-- src/
|-- templates/
|-- tests/
|-- translations/
|-- var/
|-- vendor/
|-- .editorconfig
|-- .env/
|-- .env.dev/
|-- .env.test/
|-- .gitignore
|-- compose.override.yaml
|-- compose.yaml
|-- composer.json
|-- composer.lock
|-- importmap.php
|-- phpunit.dist.yml
|-- symfony.lock

Nous allons nous concentrer sur les dossiers et fichiers les plus important pour les débutants souhaitant se familiariser avec Symfony.

/config

|-- config/

Le dossier config/ concerne la configuration globale du framework et des bundles.

Je rapelle qu'un bundle dans Symfony est un paquet de fonctionnalités réutilisable, comparable à une une extension, qui regroupe du code afin d’ajouter facilement des fonctionnalités à une application.

/public

|-- public/

Le dossier public/ est le seul dossier accessible publiquement depuis un navigateur web. Il contient le fichier index.php, point d’entrée unique de toutes les requêtes, les images et tout ce qui doit être accessible directement.

/src – Le cœur de l'application

|-- src/

Le dossier src/ (abréviation de source) contient le code métier de votre application. C’est dans cette partie que l’on retrouve le Modèle et le Contrôleur de l’architecture MVC. Il s’agit du dossier principal de Symfony, que nous utiliserons très souvent.

/templates

|-- template/

Ce dossier contient les fichiers Twig, le moteur de templates utilisé par Symfony.

Un moteur de template comme Twig est un outil qui permet de générer des pages HTML à partir de modèles dynamiques et de données transmis par le contrôleur.

Vous l'aurez peut-être comprise, template/a un rapport directe avec la Vue dans l’architecture MVC.

/vendor

|-- vendor/

Le dossier vendor/ contient tous les packages installés via Composer.

On y touche jamais normalement !

.env

Le fichier .env sont des variables d’environnement avec les paramètres de configuration sensibles.

Une variable d’environnement est une donnée stockée en dehors du code source, accessible depuis n’importe quel endroit de l’application, et utilisée pour définir des paramètres.

Ce fichier commence par un `.` car c'est un fichier caché. Par contre, dans notre éditeur de code généralement les fichiers cachés sont affichés.

Nous allons maintenant, apprendre les fondamentaux du framework Symfony.