Dans ce nouveau chapitre je vous propose de découvrir ensemble comment installer Symfony et on va voir la structure des dossiers.
Installation
Il y a différentes manières d'installer Symfony mais l'approche la plus simple est de se baser sur Composer avec la commande create-project
.
composer create-project symfony/skeleton:"7.0.*" TutoSymfony
Par défaut cette commande installe une version "vide" de Symfony dans laquelle on peut charger les modules que l'on souhaite utiliser. Pour ajouter tous les composants nécessaires à la création d'une application web on va se rendre dans le dossier du projet et utiliser la commande :
composer require webapp
Cette commande va installer tous les modules et vous posera des questions sur la configuration du projet.
Structure
Par défaut cette commande va créer plusieurs dossiers au sein de notre projet
- assets, contiendra les assets (JavaScript, CSS) front-end.
- bin, contiendra les exécutables permettant d'interagir avec le framework et les tests.
- config, contiendra la configuration des différents modules Symfony au format yaml.
- migrations, contiendra les migrations pour détailler les évolutions de la base de données (on verra cela quand on parlera de Doctrine).
- public, est le dossier qui servira de racine au serveur web. C'est dans ce dossier que l'on mettra les éléments que l'on souhaite rendre publiquement accessibles (image, css, js...).
- src, contiendra nos classes PHP et correspondra au namespace
\App
(branché gràce à la clefautoload
dans le fichiercomposer.json
). - templates, contiendra des fichiers
twig
qui permettront de décrire le rendu HTML attendu pour nos pages. - tests, contiendra les tests.
- translations, contiendra les fichiers permettant de gérer le multi-langue.
- var, condiendra les logs et le cache. C'est un dossier qui doit être accessible en écriture car le framework va écrire dedans.
Enfin, un fichier .env a aussi été créé pour vous et contient des variables d'environnements utilisées pour configurer le fonctionnement général de l'application. Ce fichier est versionné et il est possible de créer un nouveau fichier .env.local pour des variables qui sont spécifiques à votre environnement.
Démarrage
Pour voir l'application il vous suffit de lancer un serveur web qui pointe dans le dossier public. Vous pouvez utiliser le serveur web de votre choix (nginx, apache, caddy...) ou utiliser le serveur interne de PHP pendant la phase de développement
php -S localhost:8000 -t public
Vous devriez maintenant voir la page d'accueil de Symfony en vous rendant sur l'url http://localhost:8000