Вызов моделей в модуле в Zend Framework
У меня есть структура, которая
application
application/modules
application/modules/default
application/modules/default/models
application/modules/admin
application/modules/admin/models
При вызове контроллеров в админ я понимаю, что они должны быть названы как Admin_TestController
, Это работает нормально, но мои модели в моем модуле администратора, похоже, не могут загружаться. Я пытался присвоить им имена и файлы разными способами, но, похоже, он не хочет их загружать. Как я должен назвать файл и класс модели в модуле, чтобы иметь возможность использовать его? Я использую автозагрузку.
3 ответа
Поскольку Fatmuemoo заявляет, что загрузчик для модуля должен расширять Zend_Application_Module_Bootstrap, также вы должны включить
resources.modules[] =
В твоем конфиге. Это в документации для Zend_Application_Resource_Modules
Как выглядят ваши файлы начальной загрузки? Это самая важная часть проблемы.
Очень важно (для того, чтобы пространства имен автоматически загружались), чтобы у вас был загрузчик в каждом модуле (расположен по адресу @ application/modules/admin/bootstrap.php), который должен содержать как минимум:
class Reports_Bootstrap extends Zend_Application_Module_Bootstrap
Обратите внимание, что он расширяет Zend_Application_Module_Bootstrap. Это делает тяжелую работу по регистрации пространств имен для MVC модуля.
Кажется, вам нужно включить класс начальной загрузки, расширяющий Zend_Application_Module_Bootstrap для модулей, которые вы хотите использовать. Проверьте это сообщение на форуме о подобной проблеме, чтобы видеть, помогает ли это указать Вас правильным способом. Кажется, вам может понадобиться более одного для загрузки отдельных модулей.