ZF2:如何为生产,升级等实现不同的配置?

时间:2012-03-24 07:20:16

标签: php zend-framework2 config

在我从github下载的sceleton应用程序中有一个文件 模块/应用/配置/ module.config.php

return array(
    'layout'                => 'layout/layout.phtml',
    'display_exceptions'    => true,
    'di'                    => array(
        'instance' => array(
        'alias' => array(....

此文件用于module / Application / module.php:

public function getConfig()
{
    return include __DIR__ . '/config/module.config.php';
}

如何根据域(生产,登台,开发)创建3种不同的配置?似乎在ZF1中使用了env vars,但我不知道如何在zf2模块中做到这一点。 谢谢!

2 个答案:

答案 0 :(得分:9)

development.config.php中创建一个名为application/config/autoload的文件,这将在加载所有模块的配置文件后加载。因此,您可以通过将相关密钥添加到此文件来覆盖合并配置的任何内容。

加载的文件名称为{APPLICATION_ENV}.config.php,因此您可以创建production.config.php等。

请注意,您可能必须更改index.php中的glob,因为在ZF2开发的这个阶段(2012年4月初),不清楚Skeleton应用程序是否能够与APPLICATION_ENV一起开箱即用。< / p>

答案 1 :(得分:4)

似乎可以使用简单的.htaccess更改。 :

SetEnv APPLICATION_ENV development

我不知道升级是否有效,但生产和开发工作是开箱即用的。 我认为它通过事件监听器起作用,但是不要问我怎么样,我还没有那么远。