Petite revue de trois tutoriels récents :


Zend

Ces tutoriels exigent d'installer le Zend framework (2,75 Mo, le répertoire /library suffit).

AVEC

Le premier tutoriel, de Chris Shiflett, tient en 6 pages dans un anglais facile à lire. Il permet de découvrir le nouveau framework de Zend, et de se familiariser par la pratique au modèle MVC. Chris Shiflett est lui-même un contributeur du projet Zend Framework. Pour réaliser ce tutoriel de bout en bout, on pourra installer par exemple Xampp sous Linux ou WampServer sous Windows, de manière à bénéficier de PHP 5. Attention, pour permettre la ré-écriture d'URL, il faudra décommenter la ligne (retirer le #)

LoadModule rewrite_module modules/mod_rewrite.so

dans la partie Dynamic Shared Object (DSO) Support du fichier de configuration d'Apache (httpd.conf, accessible par click droit sur l'icone de WampServer > Config Files > httpd.conf). Le premier tuto commence par de la ré-écriture d'URL, au format http://mon-site.com/Controller/action/param/value. Ce tuto permet de faire une petite application interfaçant une base de donnée. Une fois incluse la bibliothèque de classes (/library), les premières page proposées consistent en fait à mettre en oeuvre le modèle MVC qui structure une partie du framework Zend. Du coup, il peut être utile de relire une description du modèle MVC parmis les Design Pattern, par exemple chez phpwact.org, chez phppatterns.com, chez PHP Wiki ou encore dans la présentation générale du principe des DP par Zend.

Cependant, on notera que l'usage de ce modèle MVC n'est pas absolument obligatoire dans le Zend framework, et que l'on peut éventuellement s'en passer. C'est ce que montrent les deux autres tutoriels.

SANS ?

L'intérêt de ces deux tutos est de montrer que l'on peut utiliser le Zend framework sans s'imposer d'utiliser toute la logique du modèle MVC. Cela veut dire aussi que l'on peut utiliser le Zend framework dans une application déjà construite, sans avoir à la modifier totalement.
Alors du coup, votre le framework Zend, vous le prendrez avec ou sans MVC ??... De fait, les propos sur la place du modèle MVC dans le framework provoquent des réflexions différentes : Chez Zend, Andi Gutmans explique :

We are currently working on some of the key MVC glue which would really define the framework for what it is.

D'un autre côté, Rasmus Lerdorf écrit un anti-framework, et s'exprime avec des propos un peu en demi-teinte par rapport au modèle MVC, ou plus exactement par rapport à la lourdeur un peu inhérente des frameworks basés sur le modèle MVC :

I don't have much of a problem with MVC itself. It's the framework baggage that usually comes along with it that I avoid. Parts of frameworks can be useful as long as you can separate the parts out that you need. As for MVC, if you use it carefully, it can be useful in a web application. Just make sure you avoid the temptation of creating a single monolithic controller.

On trouvera chez Laurent Jouanneau un débat (+ Goggle cache) autour du Zend Framework et de ses conséquences dans le monde fourmillant des frameworks PHP basés sur MVC, et plus généralement sur l'utilité de pouvoir n'importer d'un framework que ce que l'on en utilise vraiment, notamment grâce à l'implémentation d'autoload().