Bonjour à tous,

J'ai un petit problème avec un projet Zend et l'autoload.
Actuellement je charge chaque classe via Zend_Loader::loadfile.
Je me retrouve donc avec des controlleurs chargeant beaucoup de fichier de cette manière.

Je tente de mettre en place un autoload dans le boostrap, voici le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
protected function _initAutoload()
{
	$loader = Zend_Loader_Autoloader::getInstance();
	$loader->registerNamespace(array('Application_Projet1_'));
}
Mon projet est sous la forme suivante :

/application
/admin
/default
/projet1
/controllers
/models
/views
/projet2
...


J'appel dans mon controller le model Application_Projet1_Model_MonModel comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$MonModel = new Application_Projet1_Model_MonModel();
Mon model est sous cette forme (fichier MonModel.php):

class Application_Projet1_Model_MonModel extends Zend_Db_Table_Abstract{
}
Donc ça fonctionne si je fais ceci directement dans le controller :

Zend_Loader::loadfile('MonModel.php', APPLICATION_PATH.'/projet1/models');

Maintenant si je commente cette dernière ligne, j'ai une belle erreur, l'autoload n'arrive pas à trouver mon model :

Warning: include_once(Application\Projet1\Model\MonModel.php) [function.include-once]: failed to open stream: No such file or directory in C:\Program Files (x86)\Zend\ZendServer\share\ZendFramework\library\Zend\Loader.php on line 148

Warning: include_once() [function.include]: Failed opening 'Application\Projet1\Model\MonModel.php' for inclusion (include_path='.;C:\Program Files (x86)\Zend\ZendServer\share\ZendFramework\library;.;C:\Program Files (x86)\Zend\ZendServer\share\ZendFramework\library;D:\php\includes') in C:\Program Files (x86)\Zend\ZendServer\share\ZendFramework\library\Zend\Loader.php on line 148
J'ai été dans la class Loader.php pour voir ce que Zend tentait d'ouvrir.
Je fais donc un var_dump du chemin et j'ai ceci:

Application\Projet1\Model\MonModel.php
je test de changer le chemin directement dans le Loader en mettant ceci :
..\Application\Projet1\Model\MonModel.php
Et à ce moment là le fichier est bien chargé et tout fonctionne.

Je ne comprend donc pas pourquoi Zend n'arrive pas à trouver mon fichier donc si quelqu'un pouvait me donner un petit coup de pouce parce que je bloque un peu là.

Merci d'avance