Правильное расположение для пользовательского Zend_Action_Controller

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

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

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

Соглашение, которое я обычно выполняю в модульных приложениях, – это иметь большинство материалов в модулях, но регистрировать пространство имен приложений и использовать приложения / модели для классов типа «core». Итак, в вашем случае, скажем, ваше пространство имен приложений было 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.