Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
je souhaite pouvoir créer des classes ayant un fonctionnement propre a mon application.
Je souhaite stocker ces classes dans
|-- /library/ |-- My/ |-- UneClasse.php |-- Zend/ etc...
Pour faire appel à ces classes je n'aurait qu'à faire
$obj = new My_UneClasse(); // de la meme maniere que l'on appelle un composant Zend $obj = new Zend_Composant();
Le problème que j'ai, c'est que je ne trouve pas comment faire pour lui dire de chercher dans /library/My.
Lorsque je teste, il regarde dans le dossier courant.
Le dossier /library est bien dans l'include_path.
Je pense qu'il y a quelque chose à ajouter dans le initAutoload du bootstrap mais je ne sais pas quoi.
Merci pour votre aide.
Dernière modification par florian54000 (09-09-2009 17:50:51)
Hors ligne
$autoloader->registerNamespace('My_');
Hors ligne
Cette méthode n'existe pas sur mon objet $autoloader qui est une instance de Zend_Application_Module_Autoloader.
Y'a-t-il autre chose à faire ?
Dernière modification par florian54000 (09-09-2009 18:39:26)
Hors ligne
c'est pas grave tu vas chercher l'autoloader avec getAutoloader(), voir tu peux direct changer le tableau autoloaderNamespaces si tu utilise Zend_Application
Dernière modification par stealth35 (09-09-2009 18:48:03)
Hors ligne
Ok merci
J'ai rajouté cette ligne dans le initAutoload de mon Bootstrap
$this->getApplication()->getAutoloader()->registerNamespace('My_');
Je me pose une dernière question : est-ce que c'est le bon endroit ou est-ce que je devrais plutôt le mettre dans le index.php ?
Hors ligne
non c'est pile poil le bon endroit
Dernière modification par stealth35 (09-09-2009 18:57:58)
Hors ligne
Ou bien dans le configs/application.ini (si tu l'utilise)
autoloaderNamespaces[] = "My_"
Hors ligne