Правильное расположение для пользовательского Zend_Action_Controller - PullRequest
1 голос
/ 01 июля 2010

Ссылка на документацию ZF ' подклассирует контроллер действий ' (внизу страницы), но не ссылается на стандартное место для размещения нового класса Action_Controller.

Application_Module_Autoloader устанавливает патты для множества вещей, но не контроллеров. Я думаю, что поставить его на library/APPNAMESAPCE/Action/Contoller будет работать. Но это кажется немного странным, так как любой другой файл приложения хранится в application/.

1 Ответ

3 голосов
/ 01 июля 2010

Класс загружается автоматически, как и любой другой класс, для него нет «стандартного» места как такового. Таким образом, возникает вопрос, где вы хотите жить?

Соглашение, которое я обычно придерживаюсь в модульных приложениях, состоит в том, чтобы иметь большинство компонентов в модулях, но зарегистрировать пространство имен приложения и использовать приложение / модели для классов «базовых» типов. Итак, в вашем случае, скажем, что ваше пространство имен приложения было Wordpress, вы бы получили:

class Wordpress_Controller_Action extends Zend_Controller_Action
{

}

и файл будет находиться в приложении / models / Wordpress / Controller / Action.php.

Чтобы это работало, вам понадобятся приложения / модели в вашем пути включения, и вы захотите запустить стандартный автозагрузчик примерно так (в вашем классе начальной загрузки):

protected function _initAutoloader()
{
    $autoloader = Zend_Loader_Autoloader::getInstance();
    $autoloader->registerNamespace('Wordpress_');

    return $autoloader;
}

в качестве альтернативы вы можете установить выше в application.ini.

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