formations / symfony / symfony-et-mvc
Symfony et MVC
Dans ce tutorial, vous allez découvrir le MVC (Model Vue Controller) de Symfony et plus généralement son arborescence et la manière de la configurer. Du MVC aux fichiers de configuration .yaml, domptez le framework.
Le MVC depuis le début
Maintenant que nous avons créé un projet Symfony, on peut s'interresser à son MVC et sa structure de manière générale.
Avant cela, revenons sur le MVC. Le MCV est un Design Pattern initié en 1978 particulièrement utilisé dans le développement d'applications Web. Il y a un très bon article sur ce concept sur Wikipédia ici.
Le concept est assez simple, lorsqu'un page est demandé par un internaute à travers ce que l'on appelle une route, c'est à dire, l'adresse dans la barre d'adresse du navigateur, la requête est interceptée et traitée par un contrôleur. Le contrôleur fait appel au modèle pour récupérer les données dans la base de données et il passe les données à une vue pour la peupler et ensuite renvoi la page html à l'internaute.
L'illustration ci-dessous (issue de l'article de Wikipédia cité précedemment) représente très bien ce schéma.
Le MVC
Le MVC de Symfony ne repose pas sur une arborescence complexe. Lorsqu'on ouvre le projet créé dans le tuto sur l'installation de Symfony, on peut découvrir son arborescence dans l'explorateur.
Le MVC dans Symfony se résume à quatre dossiers, dont trois se trouvent dans le dossier "src".
- Controller : Ce dossier va contenir les contrôleurs de l'application
- Entity & Repository : Ces deux dossiers correspondent à l'entité, "Entity" pour le modèle de données à proprement parler et le dossier "Repository" qui contient les fichiers en charge des requêtes correspondant aux modèles sur la base de données.
- Templates : Ce sont les vues qui vont être utilisées pour renvoyer une page html à l'internaute.
Dans les tutoriaux suivant nous allons découvrir comment générer des contrôleurs, des entités et comment gérer et afficher les données dans les vues (format twig) dans Symfony.
Mais sans plus attendre passons à la suite, comment créer des entités.
Tutos du jour
Entités & relations
Les entités et les différents types de relation OneToOne, OneToMany, ManyToOne, ManyToMany
Voir le tuto