Autochargement des modèles
Bonjour, je débute sous Zend Framework, et en suivant un tutoriel, j'ai un problème pour l'autoload des modeles.
Voici mon index.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 1);
date_default_timezone_set('Europe/Paris');
define('APPLICATION_PATH', realpath(dirname(__FILE__)));
set_include_path(
PATH_SEPARATOR . '../library'
. PATH_SEPARATOR . '../application/models'
. PATH_SEPARATOR . get_include_path());
// Autoloader
require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
// Chargement de la configuration
$config = new Zend_Config_Ini('../application/configs/config.ini', 'general');
$registry = Zend_Registry::getInstance();
$registry->set('config', $config);
// Mise en place de la BDD
$db = Zend_Db::factory($config->db);
Zend_Db_Table::setDefaultAdapter($db);
// setup controller
$frontController = Zend_Controller_Front::getInstance();
$frontController->throwExceptions(true);
$frontController->setControllerDirectory('../application/controllers');
Zend_Layout::startMvc(array('layoutPath'=>'../application/layouts'));
// run!
$frontController->dispatch(); |
Et mon Controller index :
Code:
1 2 3 4 5 6 7 8 9
| <?php
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
$this->view->title = "Mes albums";
$album = new Model_DbTable_Albums();
} |
Et enfin, mon modele Albums.php, qui se trouve dans public/application/modeles/DbTable/
Code:
1 2 3 4 5 6
| <?php
class Model_DbTable_Albums extends Zend_Db_Table
{
protected $_name = 'albums';
} |
L'erreur est qu'il ne trouve pas ma class Model_DbTable_Albums, alors que normalement il devrait l'auto-charger.
Si je met ceci au début du controller Index :
Code:
include "../application/models/DbTable/Albums.php";
Ca fonctionne -logique- :)
Donc le problème doit être dans mon index.php, mais je n'arrive pas à trouver où ... :cry: