Catégories
Développement

Arborescence de symfony 3

Nous allons ici créer un projet Symfony 3 afin de voir les différences entre la version 2 de ce framework.

Si vous avez suivi mes différents articles, vous détenez une commande symfony.

Il existe une commande afin de créer une démo de la dernière version de symfony : 

symfony demo

qui va donc préparer le projet et vous indiquer quoi faire :

1. Change your current directory to ....
2. Execute the php bin/console server:start command to run the demo application
3. Browse to the http://localhost:8000 URL to see the demo application in action

On se rend compte déjà d’une chose, la console est maintenant accessible via le dossier bin et non plus app. 

Voici l’arborescence de symfony 3 :
– app
– bin
– src
– tests
– var
– vendor 
– web

Il y a donc maintenant 7 dossiers et non plus 4.

Attention pour que cette démo fonctionne, il faut que sqlite3 soit installé sur votre ordinateur (le driver utilisé par défaut dans la démo). Donc sur kubuntu :

apt-get install php-sqlite3

Si tout fonctionne bien, vous devriez donc avoir une belle page à l’adresse http://localhost:8000, ainsi qu’une bouton qui permet de voir le code de la page.

La différence majeure dans l’arborescence des fichiers étant que l’exécutable se trouve maintenant dans le fichier bin (et non plus app) et que les fichiers cache, logs et sessions sont dans un répertoire nommé var.
Voici ce que nous dis la documentation officielle pour les répertoires : 

app/
Contient des fichiers comme les fichiers de configuration et les templates. Pour faire simple, tout ce qui n’est pas du code PHP se retrouve ici. 
src/
.Tout votre code PHP se retrouve ici. 99% du temps, vous allez travailler dans src (fichiers php) ou dans app (tout le reste). 

Voyons les autres répertoires du projet.

bin/
Le fameux exécutable bin/console est ici (et d’autres moins importants).
tests/
Les tests automatisés (Unit tests) pour l’application sont ici.
var/
C’est ici que tous les fichiers créés automatiquement sont stockés, comme le cache (var/cache/), les logs (var/logs/) et les sessions (var/sessions/).
vendor/
Les librairies externes (vendor) sont ici. Elles sont téléchargés via le manager Composer! 
web/
C’est le chemin d’entrée de votre projet, mettez ici tous les fichiers publics accessibles (c’est-à-dire CSS, JS et les images).

Lorsqu’on regarde le code, on se rend compte que finalement peu de choses ont changés à ce niveau également. Nous verrons dans un prochain article les différences majeures ainsi que comment utiliser l’orm qui est Doctrine (alors que j’ai l’habitude de propel).

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *