我有一个Zend前端控制器插件。 它取决于请求对象和服务层,但不能跨应用程序重用。 因此,我认为它属于应用程序控制器目录中的插件目录。 这听起来对吗?
其次,如何让 Zend 自动加载此目录中的插件?
谢谢!
我同意插件应该放在插件文件夹中。我通常在引导期间使用应用的自定义命名空间设置资源自动加载器的实例。例如,假设您的应用的命名空间是"Bob":
protected function _initAutoloader()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$resourceAutoloader = new Zend_Loader_Autoloader_Resource(array(
'basePath' => APPLICATION_PATH,
'namespace' => 'Bob',
'resourceTypes' => array(
'model' => array(
'path' => 'models/',
'namespace' => 'Model'
),
'form' => array(
'path' => 'forms/',
'namespace' => 'Form'
),
'plugin' => array(
'path' => 'plugins/',
'namespace' => 'Plugin'
),
'service' => array(
'path' => 'services/',
'namespace' => 'Service'
)
)
));
$autoloader->pushAutoloader($resourceAutoloader);
return $autoloader;
}
根据需要添加或删除资源类型。然后,您可以将插件放入应用程序/插件/任何内容中.php它将正常自动加载。