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

var*_*ran 11 php config zend-framework2

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

return array(
    'layout'                => 'layout/layout.phtml',
    'display_exceptions'    => true,
    'di'                    => array(
        'instance' => array(
        'alias' => array(....
Run Code Online (Sandbox Code Playgroud)

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

public function getConfig()
{
    return include __DIR__ . '/config/module.config.php';
}
Run Code Online (Sandbox Code Playgroud)

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

Rob*_*len 9

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

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

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


Roc*_*ord 4

它似乎可以通过简单的 .htaccess 更改来工作。:

SetEnv APPLICATION_ENV development
Run Code Online (Sandbox Code Playgroud)

我不知道分阶段是否可行,但生产和开发可以开箱即用。我认为它是通过事件侦听器起作用的,但不要问我如何实现,我还没有做到这一点。