Le 06/09/2008 dans DevBlog

Retour sur Zend Framework

Ces trois derniers mois j’ai pris en main et utilisé le Zend Framework, qui est comme vous vous en doutez un framework, dédié au développement de site web en PHP.

Je vais tenter de vous livrer ici mes quelques impressions.

Facilité d’apprentissage

C’était le premier framework que j’utilisais vraiment, et j’avoue que les premiers jours n’étaient pas très productifs : les tutoriels et autres exemples illustrant le framework sont plus ou moins bon, et surtout ils ont tous une façon de faire différente (hiérarchie ne respectant pas les guidelines, MVC pas respecté… c’est ça d’être flexible :P).

Cependant la documentation officielle est vraiment bonne, et si vous deviez prendre en main rapidement ZF, c’est avec le quickstart que vous perdrez le moins de temps (c’est en Anglais évidement, mais vous êtes tous parfaitement bilingue à force de suivre des séries US non ?).

Quelques fonctionnalités manquantes

Problème résolu depuis la toute fraîchement sortie 1.6, le composant de pagination m’a fait cruellement défaut. C’est un des trucs de base, tous les sites web ou presque ont quelque part dans leurs pages du contenu à paginer. Ça illustre parfaitement la lenteur d’évolution du produit dont Clever-Age parle dans son livre blanc « Framework PHP en entreprise » : il est tellement difficile de contribuer à ZF que ça décourage les développeurs de la communauté, elle même peu active.

On peux aussi parler de la gestion des formulaires / retours d’erreurs, pour ce point j’ai du tout gérer « à l’ancienne », des tests sur les données à l’affichage des erreurs. Et comme je préfére coder moi même le XHTML de mes formulaires, pas moyen d’utiliser Zend_Form.

Les trucs cools

Il y a quand même certaines choses qui m’ont bien plus (mais je pense que ça existe dans tous les bons frameworks), à savoir la sécurité renforcée (tous les fichiers de la librairies sont inaccessible par le web par défaut, et les requêtes SQL qui se nettoient), la prise en charge des URLs « propres » (de base, on apelle nos méthodes publique via /nomContrôleur/nomMéthode, pas d’Url rewrite à mettre en place manuellement), les constructeurs de requêtes MySQL (on écrit plus notre SQL, Zend s’en charge), et le fait qu’on utilise PHP dans les vues et pas un langage de template àlacon.

Conclusion

Si j’avais à mettre en place un projet web, je me poserais quand même la question : ZF est une vraie usine à gaz, modulable certe mais imposante : pour un gros projet OK, mais sur un petit site je pense que je préférerais apprendre et utiliser un outil de gamme inférieure (genre Code Igniter ou CakePHP).

En tous cas une chose est sûr, ne pas utiliser de framework me parait aujourd’hui être une perte de temps : qui à envie de se re-re-re-coder une classe Mail ? Qui souhaite gérer soit même son design pattern ? Qui veux réinventer la roue avant de pouvoir se concentrer sur le coeur de son produit, sur ça vraie valeure ? Pas moi.

Voilà sinon j’ai roxé à ma soutenance de DUT, je suis diplômé d’SRC Bordeaux et écrirait dès le 10 septembre une nouvelle page du livre de ma vie :P (vous en saurez plus bientôt).