Как заставить модули работать в Zend Framework - PullRequest
0 голосов
/ 28 апреля 2009

При попытке использования модульного макета в моем приложении Zend Framework я получаю следующую ошибку:

Неопределенный индекс: аутентификация в C: \ PHP \ includes \ Zend \ Controller \ Dispatcher \ Standard.php в строке 385

Следующий код запускается до этой ошибки:

if (!$this->_acl->isAllowed($role, $resource, $privilege)) {
    $request->setModuleName('authentication');
    $request->setControllerName('auth');
    $request->setActionName('login');
    $request->setDispatched(false);
}

в моей начальной загрузке, у меня есть:

$frontController
    ->setParam('environment', $this->environment)
    ->setControllerDirectory(ROOT_DIR . '/controllers')
    ->addModuleDirectory(ROOT_DIR . '/modules');

и моя структура каталогов:

/ application
    / controllers
    / models
    / views
    / library
    / modules
        / Authentication
            / controllers
                AuthController.php

Есть мысли, почему это не работает?

Ответы [ 2 ]

1 голос
/ 28 апреля 2009

Чувствительность к регистру? В документации нет ничего, что конкретно упоминало бы о чувствительности к регистру, но все примеры с модулями также показывают имена каталогов модулей в нижнем регистре.

Мое недавнее приложение ZF использует модули, а имена каталогов строчные.

Кроме того, в определениях вашего маршрута установлен модуль по умолчанию?

0 голосов
/ 29 апреля 2009

Из любопытства, почему у вас весь модуль настроен для аутентификации (в отличие от того, чтобы об этом позаботились только действия внутри модуля по умолчанию)?

...