MVC et PHP

Jusqu’à présent, je n’ai jamais été convaincu par un framework PHP. Tous ceux que j’ai testé étaient soit trop compliqués à mettre en oeuvre, soit trop gourmands en ressources, soit trop contraignants et la plupart du temps tout ça à la fois.

Paradoxalement, je n’avait jamais vraiment essayé de développer mon propre framework. J’ai préféré mettre en place des méthodes de développement et des choix conceptuels personnels que j’affine au fil des ans.

Dans le même temps, j’entends de plus en plus parler des design patterns et je dois dire c’est bigrement intéressant. J’utilise notamment les patterns singleton et factory dans certains développement. Ces derniers temps, je me suis intéressé au pattern MVC et cela a été comme une révélation pour moi.

Je me suis aperçu qu’à la manière de monsieur Jourdain, je faisais du MVC sans le savoir (Pardon Molière). En effet, en me plongeant dans ce design pattern, je me suis aperçu que les pratiques que j’avais mis en place au fil du temps suite à mes expériences, étaient très proches des principes du MVC.

MVC signifie Model View Controller, ou Modèle Vue Contrôleur en Français. Comme toute les bonnes idées, le principe est finalement assez simple. On divise une application en 3 couches distinctes. La première, le contrôleur, va gérer les demandes de l’utilisateur et contrôler les 2 autres couches. Le modèle va contenir les traitements métier et va être interfacé avec les sources de données (bases de données, fichiers plats, annuaires LDAP, etc.). Enfin, la vue va afficher le résultat des traitement effectués par le modèle.

Le premier avantage de ce découpage c’est que si l’une des couches doit changer, cela se fait sans toucher aux autres couches. Ainsi, si au lieu d’afficher des pages HTML, vous devez finalement renvoyer du XML qui sera utilisé par un Web service, seule la vue devra être modifiée.

Le second est qu’une fois le framework mis en place, les développements sont rapides car seul le code métier doit être développé. Tout le reste est géré par le framework.

Voici quelques lectures pour approfondir le sujet :

Ce contenu a été publié dans PHP. Vous pouvez le mettre en favoris avec ce permalien.

16 réponses à MVC et PHP

Les commentaires sont fermés.