ZF2设置新的配置值



我正在寻找可能在运行时覆盖现有配置值的可能性。

SO sth。这样会很好:

$this->serviceLocator->set('Config', $this->config);

有办法做到吗?

是的,您可以做到。您是否应该这样做是整个问题。所以:

$this->serviceLocator->setAllowOverride(true); 
// service keys are case insensitive
// just remember that $this->config should contain the whole config
$this->serviceLocator->setService('Config', $this->config);
$this->serviceLocator->setAllowOverride(false);

对于setService,您需要切换一个称为allowOverride的标志。您可以在这里看到。之后,您可能应该禁用覆盖,因此另一个呼叫setAllowOverride

另外:您可以挂钩EVENT_MERGE_CONFIG并在此处更改。

现有配置值可以通过自定义在模块的配置文件夹中的config.php文件中进行自定义。您无需使用ServiceLocator来执行此操作。该文件中的数组是一个全局数组。数组中的键将按您加载模块的顺序覆盖。

相关内容

  • 没有找到相关文章