L’article explique comment appliquer correctement le pattern MVC en Symfony pour séparer la logique métier des contrôleurs et des vues, afin d’améliorer la maintenabilité du code. Il souligne que le Model ne se résume pas à une seule classe, mais se répartit entre entités, repositories et services, chacun ayant un rôle précis : les entités définissent la structure des données, les repositories gèrent les requêtes à la base de données, et les services encapsulent la logique métier.
L’auteur illustre cette séparation avec un exemple concret de contrôleur Symfony qui délègue la récupération d’un article à un repository et affiche les données via une vue Twig. Il met en garde contre l’illusion d’un MVC "propre" en rappelant que la logique métier ne doit pas être dispersée dans les contrôleurs ou les templates, mais centralisée dans des services dédiés.
Enfin, le billet insiste sur l’importance de cette discipline pour éviter un code désorganisé, tout en reconnaissant que la séparation idéale est souvent compromise dans la pratique. Il conclut que le MVC est davantage un vocabulaire commun qu’un plan rigide, et que sa mise en œuvre repose sur une réflexion constante sur l’architecture.
L'article explore l'utilisation du pattern ADR (Action-Domain-Responder) dans Symfony, en remplacement du traditionnel MVC (Model-View-Controller). L'auteur présente une approche où chaque contrôleur, nommé avec le suffixe "Action", est responsable d'une seule tâche, utilisant la méthode __invoke() pour simplifier le routage et le rendu des templates. Cette méthode, bien que complexe à mettre en place, offre une organisation claire et une génération d'URLs simplifiée dans Twig.
Tout est dans le titre
Tout est dans le titre
L'auteur présente le pattern Action-Domain-Responder et comment l'utiliser avec Symfony. Il montre aussi les différences avec MVC
Tout est dans le titre
Présentation du pattern ADR (Action Domain Responder) avec application à Symfony
Tout est dans le titre
Tout est dans le titre
Un super article
Tout est dans le titre
Un guide sur la bonne utilisation de ce design pattern en PHP
Tout est dans le titre
Un tutorial d'introduction à l'écriture de composants Ember.js
intéressant...
MVC : la couche métier en PHP « Le blog PHP de Nicolas Hachet – Développeur Web – Lead dev PHP MySQL
Une bonne présentation
MVC : la couche métier en PHP « Le blog PHP de Nicolas Hachet – Développeur Web – Lead dev PHP MySQL
Le "M' du MVC :)
Très didactique... à lire et à relire
La suite de l'explication sur le design pattern MVC pour PHP
Une description du pattern MVC adapté pour le PHP