2017-02-10 57 views
0

我只想在开发环境中加载ghislainf/zf2-whoops,但它说我必须先加载它(意思是在application.config.php)。ZF2 - 我可以先从`development.config.php`加载模块吗?

有没有办法先加载development.config.php模块?

UPDATE:

我使用abacaphiliac/zend-phpdotenv加载ENV变量,这意味着ENV变量不是由application.config.php正在处理的时间尚未加载。基于这个原因,我不能使用基于环境的动态加载。这就是我期望首先加载开发模块的原因。

回答

1

您可以轻松地为不同的环境设置不同的配置文件。因此,开发生产的一个配置。

这在Zend Framework documentation chapter called Advanced Configuration Tricks非常充分描述,并且更具体here in Environment-specific system configuration

他们使用的技巧是设置APP_ENV全局变量,并将其设置为productiondevelopment

<?php 
$env = getenv('APP_ENV') ?: 'production'; 

// Use the $env value to determine which modules to load 
$modules = array(
    'Application', 
); 
if ($env == 'development') { 
    $modules[] = 'ZendDeveloperTools'; 
} 

使用此解决方案时,您可以在每个配置中按您需要的顺序加载所需的模块。

+0

我更新了关于此方法的问题 –

+0

@ChristopherFrancisco您是否阅读过我在我的回答中提到的文档?你可以在你的htaccess文件中设置环境变量。 – Wilt

+0

是的,我知道这一点。我们关注[12factor](https://12factor.net/),所以我们使用dotenv加载env变量。不过,我认为我们不妨直接使用dotenv而不是zf2模块。 –

相关问题