Изменить каталог для модуля по умолчанию - PullRequest
1 голос
/ 31 января 2012

Как мне изменить каталог для модуля по умолчанию. Я использую модульную структуру каталогов Zend Framework:

modules
    default
        controllers
            IndexController.php
        etc
    other-module

Но как мне изменить каталог для модуля по умолчанию? Я бы хотел, чтобы его называли Api. Так что я бы имел:

modules
    Api
        controllers
            IndexController.php
    other-module

Я хочу, чтобы URI оставались прежними, поэтому:

http://localhost

Направляет на модули / Api / controllers / IndexController.php и запускает indexAction.

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

protected function _initFrontController()
{
    $front = Zend_Controller_Front::getInstance();
    $front->addModuleDirectory(APPLICATION_PATH.'/modules');
    return $front;
}

Ответы [ 2 ]

4 голосов
/ 31 января 2012

В application/config.ini:

# where to find modules
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

# set the default module
resources.frontController.defaultModule = "api"

# which modules to activate
resources.modules.api   = "api"
resources.moduler.other = "other"

Затем вы можете удалить метод _initFrontController() из вашего Bootstrap.

Обратите внимание на регистр символов здесь. Обычно имена модулей (как указано в файле конфигурации и в маршрутах) строчными буквами. Также имя файла модуля будет в нижнем регистре (например: application/modules/api). Специфичные для модуля имена классов (скажем, контроллер в модуле администратора) будут использовать первый префикс имени модуля в качестве префикса класса (например: class Admin_ArticleController extends Zend_Controller_Action).

[Для имен модулей через дефис и camelCase - как и в примере с «другим модулем» - я точно забываю, как должны быть добавлены префиксы для классов, специфичных для модуля, но это достаточно легко найти, если вам это действительно нужно.]

1 голос
/ 31 января 2012

В вашем config.ini

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = "default"
resources.modules[] = "api"

Структура вашей папки в порядке

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