Suppression de Zend.php
Du coté Zend
|
|
Suppression de Zend.php
Du nouveau chez Zend, Andries Seutens nous a préparer un tuto que je me suis empressé de vous traduire. Vous pouvez retrouver plus d’informations directement sur son blog perso.
Pour ceux d’entre vous qui ne suivent pas ce qui se passe sur la mailing liste fw-générale, le fichier Zend.php et sa classe Zend ont maintenant disparus! C’est une bonne nouvelle car la classe Zend était schizophrène et fournissait des fonctions responsables du chargement de fichier, de l’indexage, de la mise au point et de l’information de version! Un autre inconvénient est que tout le Framework Zend est stocké dans le répertoire Zend, ce qui fait plaisir à ceux qui utilisent svn:externals dans leur répertoire lib.
Nous avons maintenant de nouvelles classes:
· Zend_Loader (contient loadClass(), loadFile() etc.)
· Zend_Debug (contient dump())
· Zend_Version (contient la constante VERSION et compareVersion())
et Zend_Registry possède maintenant une méthode getInstance() statique.
Un autre changement est que les méthodes de filtre statique de Zend_Filter vont être remplacées par la famille de classes Zend_Validate et Zend_Filter. Maintenant, chaque filtre est sa propre classe et vous pouvez les enchaîner en utilisant la nouvelle classe Zend_Filter. C’est beaucoup plus souple, mais c’est aussi un peu trop verbeux, spécialement lorsque vous devez instancier de nombreux filtres différents pour filtrer un formulaire. Je soupçonne qu’un jour ou l’autre quelqu’un va trouver une bonne solution pour filtrer les formulaires. De plus, Zend_Filter_Input a également disparu, bien que ce ne soit pas surprenant car de toute façon il ne fonctionnait pas avec le dernier code MVC
Super Conseil: Oubliez Zend_Filter_Int. C’est plus rapide et beaucoup moins de frappe de simplement cast directement à une int!
J’ai mis à jour la sous version du code de mon tutorial pour qu’il fonctionne avec le dernier svn du Framework, pour ceux d’entre vous que cela pourrait intéresser. Remarquez bien que par anticipation d’autres choses sur lesquelles travaille Matthew, je l’ai ré écrit pour utiliser les fichiers header/footer php pour la vue du template de chaque action. Un autre changement que j’ai apporté est d’enlever la dépendance à des URLs intégrées au programme des fichiers CSS, href et des attributs de méthode de formulaire. J’utilise maintenant getBaseUrl() pour trouver le chemin correct et partir de là, et ainsi vous pouvez maintenant faire fonctionner le tutorial depuis n’importe quel répertoire et il « marchera »! Je ne pense pas mettre à jour le texte du tutorial avant la sortie du 0.9 car il y a pas mal de choses qui se passent durant cette période.
Le travail de transition fût assez facile:
4. Remplacer include "Zend.php" par include "Zend/Loader.php"
5. Remplacer tous les appels à Zend::loadClass() par Zend_Loader::loadClass()
6. Remplacer toutes les utlisations de Zend_Filter_Input par un appel à la classe Zend_Filter_Xxx correcte et utiliser $this->_request->getPost('{nom}') pour obtenir les données du formulaire.
Le principal problème que j’ai rencontré fut que la fonction dump() ne fonctionnait pas tant que vous ne souveniez pas d’écrire Zend_Loader::loadClass('Zend_Debug')! C’est vraiment évident, mais cela rend encore plus intéressant l’usage d’autoload :)
Pour ceux d’entre vous qui ne suivent pas ce qui se passe sur la mailing liste fw-générale, le fichier Zend.php et sa classe Zend ont maintenant disparus! C’est une bonne nouvelle car la classe Zend était schizophrène et fournissait des fonctions responsables du chargement de fichier, de l’indexage, de la mise au point et de l’information de version! Un autre inconvénient est que tout le Framework Zend est stocké dans le répertoire Zend, ce qui fait plaisir à ceux qui utilisent svn:externals dans leur répertoire lib.
Nous avons maintenant de nouvelles classes:
· Zend_Loader (contient loadClass(), loadFile() etc.)
· Zend_Debug (contient dump())
· Zend_Version (contient la constante VERSION et compareVersion())
et Zend_Registry possède maintenant une méthode getInstance() statique.
Un autre changement est que les méthodes de filtre statique de Zend_Filter vont être remplacées par la famille de classes Zend_Validate et Zend_Filter. Maintenant, chaque filtre est sa propre classe et vous pouvez les enchaîner en utilisant la nouvelle classe Zend_Filter. C’est beaucoup plus souple, mais c’est aussi un peu trop verbeux, spécialement lorsque vous devez instancier de nombreux filtres différents pour filtrer un formulaire. Je soupçonne qu’un jour ou l’autre quelqu’un va trouver une bonne solution pour filtrer les formulaires. De plus, Zend_Filter_Input a également disparu, bien que ce ne soit pas surprenant car de toute façon il ne fonctionnait pas avec le dernier code MVC
Super Conseil: Oubliez Zend_Filter_Int. C’est plus rapide et beaucoup moins de frappe de simplement cast directement à une int!
J’ai mis à jour la sous version du code de mon tutorial pour qu’il fonctionne avec le dernier svn du Framework, pour ceux d’entre vous que cela pourrait intéresser. Remarquez bien que par anticipation d’autres choses sur lesquelles travaille Matthew, je l’ai ré écrit pour utiliser les fichiers header/footer php pour la vue du template de chaque action. Un autre changement que j’ai apporté est d’enlever la dépendance à des URLs intégrées au programme des fichiers CSS, href et des attributs de méthode de formulaire. J’utilise maintenant getBaseUrl() pour trouver le chemin correct et partir de là, et ainsi vous pouvez maintenant faire fonctionner le tutorial depuis n’importe quel répertoire et il « marchera »! Je ne pense pas mettre à jour le texte du tutorial avant la sortie du 0.9 car il y a pas mal de choses qui se passent durant cette période.
Le travail de transition fût assez facile:
4. Remplacer include "Zend.php" par include "Zend/Loader.php"
5. Remplacer tous les appels à Zend::loadClass() par Zend_Loader::loadClass()
6. Remplacer toutes les utlisations de Zend_Filter_Input par un appel à la classe Zend_Filter_Xxx correcte et utiliser $this->_request->getPost('{nom}') pour obtenir les données du formulaire.
Le principal problème que j’ai rencontré fut que la fonction dump() ne fonctionnait pas tant que vous ne souveniez pas d’écrire Zend_Loader::loadClass('Zend_Debug')! C’est vraiment évident, mais cela rend encore plus intéressant l’usage d’autoload :)
Ajouter un commentaire
Quelques articles qui devraient vous intéresser










Connexion
Les derniers!

