首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zend2隔离模块配置

Zend2隔离模块配置
EN

Stack Overflow用户
提问于 2013-02-08 06:35:02
回答 2查看 136关注 0票数 0

似乎在getConfig方法的Module.php中定义的所有配置设置都在整个应用程序中进行了全局合并。对于我的情况来说,这非常奇怪,因为我需要为每个模块进行不同的配置:数据库设置、一些工厂和view_manager设置,这些设置当前被最后加载的模块覆盖。如何对模块中$this->getServiceLocator()->get('Config')作用域是独占的一些模块使用配置。我现在唯一的想法是在调度事件时将我的模块配置与$this->getServiceLocator()->get('Config')合并,如果这是唯一的情况,那么使用什么优先级更好,以便我可以利用所有设置: view_manager、service_manager等?

对我来说,理想的解决方案是如果某个名称空间的作用域中的配置设置仅在该名称空间下使用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-08 09:28:09

您可以根据需要嵌套您的配置值。

假设您有一个名为"mymodule“的模块,它需要连接到一个特殊的、特定于模块的数据库(与整个应用程序的主DB不同)。你会这样做:

mymodule.global.php.dist:

代码语言:javascript
复制
return array(
    'mymodule' => array(
        'db' => array('host'=>'localhost', ... )
    )
)

然后,只需确保myModule正在查看$config['mymodule']['db'],而不是$config['db']

票数 2
EN

Stack Overflow用户

发布于 2013-06-06 10:10:53

您可以通过以下方式获取模块的配置设置:

代码语言:javascript
复制
$moduleManager = $this->getServiceLocator()->get('ModuleManager');
$applicationModule = $moduleManager->getModule('Application');
$applicationConfig = $applicationModule->getConfig();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14762351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档