Доступ к моим моделям ZF (приложение / модели) без префикса / пространства имен? - PullRequest
0 голосов
/ 13 января 2011

Моя настройка Zend Framework выглядит следующим образом:

/application
    /modules
    /models
    /configs
/library
/public

Я хочу получить доступ к своим моделям без префиксов или пространств имен, например:

new User() // Would refer to /application/models/User.php

Я знаю, что это довольно простая проблема, но я еще не смог разобраться. Я также видел много похожих вопросов, но ни один из них не был именно этим, но, пожалуйста, прости меня, если я дублирую существующий вопрос.

До сих пор я пытался изменить пространство имен приложений на "" в моем config.ini безуспешно и добавить следующие к моей Bootstrap безуспешно: защищенная функция _initAutoload () {

    $autoloader = new Zend_Loader_Autoloader_Resource(array(
        'namespace' => '',
        'basePath'  => APPLICATION_PATH . '/models',
    ));

}

Спасибо!

1 Ответ

3 голосов
/ 13 января 2011

Вы должны использовать резервный автозагрузчик.

В вашем файле Bootstrap (или где угодно) сделайте следующее:

protected function _initAutoloader()
{
    Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
}

Это позволит вам загрузить любой произвольный класс, который находится на вашем пути, даже если вы зарегистрировали определенные префиксы автозагрузки в своем приложении .ini

И чтобы уточнить, убедитесь, что вы нажимаете APPLICATION_PATH. "/ models" в ваш include_path в какой-то момент ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...