【问题标题】:Zend Framework 1.2 - Configuration by modulesZend Framework 1.2 - 按模块配置
【发布时间】:2014-09-04 02:54:56
【问题描述】:

我在 zend 框架中有一些插件,同时我有一个包含各种模块的应用程序,我想知道如何加载插件而不在每个请求上都运行。

在模块管理中,我在引导文件中有一个函数:

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

在附属模块中,我在引导文件中有一个函数:

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

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

【问题讨论】:

    标签: php zend-framework


    【解决方案1】:

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

    为此:

    1. 创建Your_Application_Resource_ModulesCustom,它扩展自Zend_Application_Resource_Modules,并禁用模块自动调用_initPlugins
    2. 当您确定必须加载哪个模块时,您应该为此模块手动调用_initPlugins

    【讨论】:

    • 在 application.ini 中查看我的代码:` admin.resources.db.params.dbname = "admin"affiliates.resources.db.params.dbname = "affiliates"` 我想指出模块“admin”使用数据库“admin”,模块“affiliates”使用数据库“affiliates”。
    • 我的意思是application/configs/application.ini
    • 过去我是这样用的:resources.frontController.plugins[] = "Admin_Plugin_SecurityCheck" 进去看看:framework.zend.com/manual/1.10/en/…
    • 什么事件监听你的插件?
    • 所以如果我有 500 个插件,我必须添加那个逻辑吗?模块化的概念在哪里?这是错误的方式,我只是希望根据模块加载某些设置。
    猜你喜欢
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多