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 :
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_');
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
$maclass = new DbTable_Maclass;
à condition que Maclass.php soit présent dans un dossier qui soit présent dans le PATH/DBtable/Maclass.php

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 :
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
}
Théoriquement ça devrait marcher non ? Ou alors j'ai raté une étape ?
Parce que tout ce que j'obtiens c'est :
Fatal error: Class 'DbTable_Programmes' not found in C:\Program Files\wamp\www\terresens\application\controllers\InvestirController.php on line 9
-->La ligne 9 c'est la ou j'écrit $p = new DbTable_Programmes;
Je précise que si je charge mes classes avec un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
require_once '../application/models/DbTable/Programmes.php';
ça fonctionne. Donc c'est bel et bien au niveau de l'autoload qu'il y a un problème.

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