Il aura fallu attendre la version 1.10.x de Zend Framework pour disposer d’un outil « complet », notamment avec un composant Zend_Application plus mûr, une gestion plus fiable de l’auto-chargement et un Zend_Db utile permettant la mise en place de modèles de données sans ambiguïté. La documentation est intéressante et plutôt claire, bien que la traduction française pas toujours au fait de la dernière version en date et que l’utilisation avancée des composants nécessite toujours de se plonger dans le code.
Ceux qui ont commencé avec une version inférieure à 1.8 auront pour la plupart du mal à intégrer Zend_Application. Mais l’utilisation de ce dernier n’est pas nécessaire lorsque la base applicative est bonne. Je travaille encore sur des applications qui ont commencé avec Zend Framework 1.2 et qui aujourd’hui profitent sans problème des avancées de la 1.10. C’est en revanche côté migration de PHP 5.2 vers PHP 5.3 qu’il peut y avoir des problèmes : maintenir un PHP 5.2.x récent est conseillé tant que Zend Framework 1.x reste d’actualité.
Pour ceux qui débutent avec Zend Framework, l’application quick start est un bon moyen de commencer, suivi par le guide de référence. Zend_Tool est également un composant intéressant qui évolue et permet la mise en place rapide d’architectures applicatives.
Pour les utilisateurs avancés, créer et étendre des composants avec Zend Framework est aussi simple que confortable, ne serait-ce que pour agréger sa bibliothèque de validateurs, filtres, plugins et helpers, bien utiles d’une application à l’autre. L’implémentation MVC et son environnement sont également bien pensés : routage, boucle d’exécution, système d’intégration sous forme de plugins (cf. illustrations).
La connaissance approfondie des principaux composants de Zend Framework apporte incontestablement gain de temps et cohérence… pas plus tard que la semaine dernière, les 540 lignes de code d’un modèle de données n’en on fait plus que 4 (!), connaissance approximative de Zend_Db_Table oblige.
Côté performance, rien de révolutionnaire. Un accélérateur de type APC sera nécessaire et un bon système de fichiers aussi. Ces deux conditions étant remplies, les performances applicatives seront dans la plupart des cas tout à fait honorables, on aura du mal à croire qu’une bonne centaine d’inclusions en moyennes sont opérées à chaque requête HTTP.