
Quand on développe des applications lourdes et qu’on travaille en équipe, une organisation assez stricte du code s’avère rapidement indispensable. La logique MVC est un modèle d’organisation basé sur 3 éléments : Modèle, Vue et Contrôleur.
- Le modèle est la partie qui s’occupe des données. En développement PHP/MySql, il est généralement composé des classes représentant les tables de la base de données.
- Les vues sont les interfaces utilisateurs. Dans le cas du développement web, ce seront toutes les sorties JS/XML/HTML.
- Et enfin les contrôleurs sont le pont entre le modèle et les vues. Ils reçoivent les requêtes de l’utilisateurs et appellent les fonctions du modèle et les vues en conséquence.
Avec ce type d’organisation, on peut aisément partager le travail entre les designers, la base de données et l’organisation des pages.
De plus, une fois l’application en place, il est facile de modifier un de ces éléments sans avoir à toucher aux autres.
Et comme le code est réutilisable, il est très facile et rapide d’écrire de nouvelles pages.
Si la logique MVC semble attirante, il faut quand même se méfier et bien réfléchir avant de l’utiliser : Correspond elle vraiment à mes besoins ?
Toute l’organisation du code nécessite des traitements additionnels comme la transformation des données en objets et en tableaux.
Cet ajout de code a pour conséquence des pages plus lentes à afficher (hors utilisation du cache) et une consommation de ressources plus importante.
Avantages :
- Séparation des compétences (design, base de données, application)
- Simplicité de mise à jour
- Vitesse de création de pages
Inconvénient :
- Pages plus lentes à afficher (hors cache)
- Plus de ressources consommées
- Développement initial plus long
Et si cet article vous fait penser qu’il faut passer au MVC, voilà quelques Frameworks PHP :
Akelos - Un portage de Ruby on Rails port en PHP
BareBonesMVC - Très simple : un seul fichier, pas de configuration – PHP5
CakePHP - Basé sur les concepts de Ruby on Rails
CodeIgniter - Framework très complet
DragonPHP - MVC2 (un seule contrôleur centralise tout) - PHP5
Odin Assemble - Très léger
Symfony Framework - Framework très complet - PHP 5
TinyMVC Framework - Très léger
Zend Framework - Framework très complet - PHP 5






Y’a quand même autre chose que PHP dans le développement web… Celui qui est considéré comme le pionnier dans les frameworks web MVC, c’est Ruby On Rails, suivi de peu (chronologiquement) par Django. Et Turbogears.
Et la logique MVC s’exporte très bien pour des domaines “hors web”.
Par contre, j’aimerais bien comprendre ce que l’auteur veut dire par : “inconvénient : Développement initial plus long”. A mon avis, au contraire, le développement est redoutablement accéléré / facilité par les Frameworks web. Parce que toutes les scories rébarbatives sont gérées automagiquement par l’outil, à la base.