2014-09-03 122 views
1

我在zend框架中有一些插件,同时我有一个应用程序与各种模块,我想知道如何加载插件没有在每个请求上运行。Zend Framework 1.2 - 通过模块配置

在模块管理我的引导文件的函数:

public function _initPlugins() { 
     Zend_Controller_Front::getInstance()->registerPlugin(new Admin_Plugin_SecurityCheck()); 
    } 

在模块分支机构我在引导文件中的函数:

public function _initPlugins() { 
     Zend_Controller_Front::getInstance()->registerPlugin(new Affiliates_Plugin_SecurityCheck()); 
    } 

我只是想要加载每个模块插件和设置而不是所有的模块。你怎么能这样做?谢谢。

回答

0

您可以替换标准的Zend_Application_Resource_Modules资源,哪些加载模块。

对于此:

  1. 创建Your_Application_Resource_ModulesCustom,它从Zend_Application_Resource_Modules延伸并禁用模块_initPlugins自动呼叫。
  2. 当您确定需要加载哪个模块时,您应该手动为该模块调用_initPlugins
+0

看我的代码中的application.ini: ' admin.resources.db.params.dbname = “admin” 的 affiliates.resources.db.params.dbname = “关联公司”' 我试图说明模块“admin”,使用数据库“admin”和模块“affiliates”使用数据库“affiliates”。 – 2014-09-03 18:31:18

+0

我的意思是'application/configs/application.ini' – maximkou 2014-09-03 18:34:05

+0

过去我用这种方式: resources.frontController.plugins [] =“Admin_Plugin_SecurityCheck” 请看:http://framework.zend.com/manual/ 1.10/en/zend.application.available-resources.html – 2014-09-03 18:35:52