开发者

Correct Location for Custom Zend_Action_Controller

开发者 https://www.devze.com 2023-01-05 02:56 出处:网络
The ZF Docs reference \'Subclassing the Action Controller\' (bottom o开发者_JAVA百科f the page), but don\'t reference a standard place to put the new Action_Controller class.

The ZF Docs reference 'Subclassing the Action Controller' (bottom o开发者_JAVA百科f the page), but don't reference a standard place to put the new Action_Controller class.

Application_Module_Autoloader sets up pats for a bunch of things, but never controllers. I guess putting it on library/APPNAMESAPCE/Action/Contoller would work. But that seems a bit odd since every other application specific file is stored under application/.


The class gets autoloaded like any other class, there isn't a 'standard' place for it as such. So the question becomes, where do you want it to live?

The convention I usually follow in modular applications is to have most stuff in the modules, but register an app namespace and use application/models for 'core' type classes. So in your case, say your app namespace was Wordpress, you'd have:

class Wordpress_Controller_Action extends Zend_Controller_Action
{

}

and the file would live in application/models/Wordpress/Controller/Action.php.

To make this work you'll need application/models on your include path, and you'll want to init the standard autoloader with something like this (in your bootstrap class):

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

    return $autoloader;
}

alternatively you could setup the above in application.ini.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号