Как получить доступ к моделям в модуле по умолчанию в Zend_Framework? - PullRequest
2 голосов
/ 19 января 2012

Я пытаюсь сделать свое приложение модульным, используя модули в Zend Framework.

Вот моя новая структура проекта:

   configs/ 
        application.ini
    layouts/
        filters/
        helpers/
        scripts/
    modules/
        default/
               forms/
               controllers/
               models/
               views/
        admin/
               forms/
               controllers/
               models/
               views/
    Bootstrap.php

Я добавил эти строки в свое приложение .ini:

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.params.prefixDefaultModule = false
resources.modules[] =

Теперь я могу получить доступ к контроллерам и представлениям в каталоге по умолчанию, не меняя ничего в моей предыдущей конфигурации (я просто переместил свои контроллеры / модели/ просматривает модуль / каталог).

Однако я не могу получить доступ к моделям, расположенным в модуле по умолчанию.

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

Неустранимая ошибка: класс 'Model_Account_Edit' не найден в /var/www/.../application/modules/default/controllers/AccountController.php в строке 138

Есть идеи?

1 Ответ

3 голосов
/ 19 января 2012

Это, вероятно, потому что вам не хватает специфичного для модуля загрузчика.Добавьте файл начальной загрузки для каждого модуля, и он должен работать.Класс должен выглядеть примерно так:

class Default_Bootstrap extends Zend_Application_Module_Bootstrap{}

Добавьте его в проект

modules/
    default/
           forms/
           controllers/
           models/
           views/
           Bootstrap.php

И вы должны быть готовы к работе.

...