Cette article est une traduction de ce billet : Zend_Loader’s autoloader deprecated in Zend Framework 1.8
Zend_Loader‘s autoloader est devenue obsolète à partir de la version du Zend Framework 1.8 et si vous utilisé une version inférieur, vous obtenez le message d’erreur suivant :
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 /www/zf-tutorial/library/Zend/Loader.php on line 207
C’est parce que vous avez les lignes suivante dans votre bootstrap :
require_once 'Zend/Loader.php'; Zend_Loader::registerAutoload();
La solution la plus facile est de changer ce code par celui-ci :
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->registerNamespace('application');
« application » est le nom du répertoire où se trouve vos classes selon la convention de nommage du framework Zend Framework, à changer en fonction de vos besoins.
Si vous avez besoin de la fonction de chargement automatique, du fait que votre répertoire Model se trouve dans l’include path et que vous n’avez pas Namespacer vos classes modèle, ajoutez ceci :
$loader->setFallbackAutoloader(true);
Vous pouvez aussi ajouter ceci :
$loader->suppressNotFoundWarnings(false);
Lorsque vous êtes en développement et que le nouveau autoloader est en place, s’affichera les éventuelles d’erreurs de syntaxe au lieu d’une page blanche.
Pour plus d’information, je vous invite à lire la documentation (en anglais car la version française n’est pas toujours à jour) : http://framework.zend.com/manual/en/zend.loader.autoloader.html
Autre article à consulter sur le sujet : http://devzone.zend.com/article/4525-Developing-a-Comprehensive-Autoloader
$loader->setFallbackAutoloader(true);
no comment untill now