Автозагрузка моделей с Zend в bootstrap.php - PullRequest
0 голосов
/ 15 декабря 2010

Я действительно не могу понять это:

Я создал файл с именем User.php в приложении / модели.Имя класса в нем - Model_User.

Когда я пытаюсь создать объект в моем контроллере, я получаю эту ошибку:

Fatal error: Class 'Model_User' not found in C:\xampplite\htdocs\code\application\controllers\IndexController.php on line 14

Я погуглил и нашел этот код, который предполагаетсячтобы автоматически загружать контроллеры, он находится в bootstrap.php, хотя код не работает.Пример, который использовал этот код, работал с ZF 1.8, так что это может быть причиной, но я не могу понять это.Как мне автозагрузить мои модели?!

    private function _initAutoload(){
 $modelLoader = new Zend_Application_Module_Autoloader(array(
     'namespace' => '',
     'basePath' => APPLICATION_PATH
 ));
 return $modelLoader;
    }

Есть идеи?

1 Ответ

1 голос
/ 15 декабря 2010

Важным битом в ответе на вопрос, который я связал выше, является пространство имен:

    $resourceLoader->addResourceTypes(array(
            'model' => array(
                    'namespace' => 'Model',
                    'path'      => 'models'
            )
    ));

Параметр namespace указывает автозагрузчику искать в определенном path(относительно basePath) при обнаружении класса, начинающегося с Model_.У вас первая часть права, но вы пропускаете звонок на addResourceTypes.

...