ZF文档引用“Subclassing the Action Controller”(页面底部),但不引用标准位置来放置新的Action_Controller类。
Application_Module_Autoloader为一堆东西设置拍子,但从不设置控制器。我想把它放在library/APPNAMESAPCE/Action/Contoller
上会起作用。但这似乎有点奇怪,因为每个其他特定于应用程序的文件都存储在application/
下。
答案 0 :(得分:3)
该类可以像任何其他类一样自动加载,因此没有“标准”的地方。所以问题就变成了,你希望它住在哪里?
我在模块化应用程序中通常遵循的惯例是在模块中包含大部分内容,但注册应用程序命名空间并使用“核心”类型类的应用程序/模型。因此,在您的情况下,假设您的应用程序命名空间是Wordpress,您将拥有:
class Wordpress_Controller_Action extends Zend_Controller_Action
{
}
该文件将存在于application / models / Wordpress / Controller / Action.php中。
要完成这项工作,您需要在include路径上使用应用程序/模型,并且您需要使用类似的东西(在引导类中)初始化标准自动加载器:
protected function _initAutoloader()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace('Wordpress_');
return $autoloader;
}
或者您可以在application.ini中设置上述内容。