Bonjour à tous,
J'ai un petit problème avec l'autoload. En gros... ça autoload pas
Voila comment j'ai procédé :
Dans mon bootstrap :Du coup, d'après la présentation du Zend framework par julien pauli, je devrai pouvoir charger mes classes de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // mise en place des répertoires et chargement des classes set_include_path('.' . PATH_SEPARATOR . '../library' . PATH_SEPARATOR . '../application/models/' . PATH_SEPARATOR . '../application/' . PATH_SEPARATOR . get_include_path()); //La classe Zend_Loader_Autoloader inclut des méthodes //afin de nous aider à charger des fichiers dynamiquement. require_once 'Zend/Loader/Autoloader.php'; $loader = Zend_Loader_Autoloader::getInstance(); $loader->registerNamespace('DbTable_');à condition que Maclass.php soit présent dans un dossier qui soit présent dans le PATH/DBtable/Maclass.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part $maclass = new DbTable_Maclass;
J'ai un fichier Programmes.php qui contient la classe Programmes qui se trouve dans application/models/DbTable/ donc dans un endroit ou théoriquement l'autoloader peut aller le chercher.
Dans mon controller j'ai ceci :Théoriquement ça devrait marcher non ? Ou alors j'ai raté une étape ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class InvestirController extends Zend_Controller_Action { function projetAction() { // On fait appel au modèle pour selectionner nos programmes $p = new DbTable_Programmes; $row = $p->allProgs(); $this->view->prog = $row; //Suite de la fonction } //Suite du controller }
Parce que tout ce que j'obtiens c'est :-->La ligne 9 c'est la ou j'écrit $p = new DbTable_Programmes;Fatal error: Class 'DbTable_Programmes' not found in C:\Program Files\wamp\www\terresens\application\controllers\InvestirController.php on line 9
Je précise que si je charge mes classes avec unça fonctionne. Donc c'est bel et bien au niveau de l'autoload qu'il y a un problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part require_once '../application/models/DbTable/Programmes.php';
J'ai lu l'atelier sur les autoloader de Julien Pauli, mais ça ne m'a pas aidé à résoudre mon problème...
Si vous avez des pistes ? Des idées ? La solution?
Merci par avance
Partager