avril
2009
Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in [xxx]
ZendFramework 1.8 déprécie l’utilisation de l’autoload que nous connaissons, car elle introduit un mécanisme beaucoup plus complet (et donc forcément plus complexe).
L’auto chargement des classes est délégué à un ensemble de classes, dont Zend_Loader_Autoloader fait parti, et non plus à une simple méthode, ouvrant ainsi des perspectives assez intéressantes.
Pour rendre vos codes compatibles, utilisez simplement
<?php
require_once 'Zend/loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
Sinon, vous pouvez toujours lire la doc et prendre en main Zend_loader_Autoloader, qui est un composant plutôt adapté aux projets très complexes, avec plein de classes à auto-charger, dans plein de dossiers différents, et avec des noms spécifiques.
4 Commentaires + Ajouter un commentaire
Commentaires récents
Archives
- novembre 2010
- août 2010
- juillet 2010
- juin 2010
- mai 2010
- avril 2010
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- novembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- juin 2009
- mai 2009
- avril 2009
- mars 2009
- février 2009
- janvier 2009
- décembre 2008
- novembre 2008
- octobre 2008
- septembre 2008
- août 2008
- juillet 2008
- juin 2008
- mai 2008
- avril 2008
- mars 2008
- février 2008
- janvier 2008
- décembre 2007
- novembre 2007
- octobre 2007
- septembre 2007
- août 2007
- juillet 2007
- juin 2007
- mai 2007
- avril 2007
- mars 2007
- février 2007
Apparemment, cet éditeur n’aime pas les programmes PHP. Mes copiés-collés ont sauté. Ce qui ne change rien à la question : où trouver une version de l’exemple de la page 32 compatible avec le framework >= 1.8 ?
Bonjour,
Je viens d’acheter « Zend Framework – Bien développer en PHP ». Je suis donc à classer du côté des grands débutants sur ce framework.
Les ennuis commencent à la page 32. J’ai bien compris que les exemples concernent une version antérieure de ZF, et j’ai par conséquent modifié le premier exemple d’autoload ainsi :
ou ainsi :
Les deux versions ont l’air de fonctionner.
Mais je coince sur l’exemple suivant, zend_loader_advanced.php
Il s’agit dans cet exemple d’utiliser une classe personnalisée pour l’auto-chargement.
Rappel : sous un répertoire « My », je dois avoir un fichier « Loader.php », différent du « Loader.php » présent sous le répertoire « zend » standard. A priori, si j’ai bien compris, « My » peut être situé à peu près n’importe où. Par exemple sous « wwwhtdocsexampleslibrary », ou sous « C:Mes-classes-persos-a-moi ».
Et là, je ne trouve pas la bonne méthode pour adapter le fichier php du livre à Zend framework 1.8.
J’ai essayé ceci :
Aucun message d’erreur, à condition que « My/Loader.php » soit situé sous « zend ». Mais rien ne me permet d’affirmer que c’est le Loader de My qui a été utilisé (j’en serais même plutôt surpris). En outre, je voudrais que ce répertoire « My » soit spécifique à mon appli, ou au moins indépendant de la librairie originale de Zend Framework.
Problème très basique, donc, mais qui peut-être conditionne tout le reste de l’apprentissage, pour les 400 pages à venir. Où peut-on trouver la mise à jour des exercices, svp ?
—————————————
Nota :
Sur http://www.zfbook.fr, c’est la version dépréciée qui figure :
Attention, c’est :
require_once ‘Zend/Loader/Autoloader.php';
et non :
require_once ‘Zend/loader/Autoloader.php';
Un article, en anglais, sur Zend_Loader_Autoloader :
Developing a Comprehensive Autoloader :
http://devzone.zend.com/article/4525-Developing-a-Comprehensive-Autoloader