Zend_View

Ah les jolies variables de vue

Je ne sais pas pour vous, mais moi je ne trouve pas ça particulièrement élégant de toujours devoir passer par $this pour accéder à mes variables de vues.

Heureusement, dans le bestiaire des fonctions PHP, on dispose d'une fonction nommée extract qui crée des variables à partir d'un tableau. En la combinant à la méthode getVars de Zend_View qui permet d'obtenir l'ensemble des variables assignées à une vue, on peut exporter ces dernières sous la forme de variables locales.

Zend Framework : les aides de vue

Logo Zend Framework

Quand j'ai commencé à utiliser le Zend Framework, je trouvais qu'utiliser des classes pour implémenter les aides de vue représentait une surcharge inutile. Une simple fonction ferait tout aussi bien l'affaire. Le seul avantage que cette approche avait à mes yeux, c'est qu'on n'avait pas à passer la vue à chaque appel de la fonction. Mais comme on doit quant même préfixer l'appel de la méthode par <?php$this?>, cela revenait à peu près au même.

Zend Framework : un helper pour afficher les messages Flash

Logo Zend Framework

L'aide de contrôleur FlashMessenger permet de stocker des messages dans la session. On peut ainsi les retrouver dans la requête suivante. C'est très pratique pour informer l'utilisateur qu'une opération comme la soumission d'un formulaire s'est bien déroulée.

HtmlList et les listes imbriquées

Dans mon précédent article, je vous expliquai comment supprimer les balises de fermeture de la balise LI dans l'aide de vue HtmlList. J'avais fait une erreur dans mon code, du à la façon dont HtmlList gère les listes imbriquée.

Ce n'est pas expliqué clairement dans la documentation officielle, mais pour générer une liste imbriqué comme celle-ci :

Les options cachées de Zend_View_Helper_FormRadio

Logo Zend Framework

La documentation sur les assistants de vue (view helpers) du Zend Framework est un peu sommaire, il faut se plonger dans le code source pour découvrir toutes les possibilités.

Trucs et astuces

Utiliser Zend_View_Helper_HeadScript::prepend pour charger vos scripts Javascript dans un layout

Les scripts Javascript doivent être chargés dans un ordre bien particulier. Si vous utilisez ExtJS par exemple, vous devez d'abord charger un adaptateur comme ext-base.js par exemple, puis le fichier principal ext-all.js, puis éventuellement un fichier spécifique à votre vue (login.js par exemple).

Subscribe to RSS - Zend_View