确定Zend_Config在控制器中使用哪个部分?

我通过Zend_Config_Ini适配器定义了我的配置,包括生产,开发和测试部分。在我的控制器中,我想根据我当前使用的环境/部分采取某些行动 - 例如我只想在生产和测试中发送电子邮件,而不是在开发中。 有没有办法确定我使用控制器的环境/部分?我可以在配置中设置一个值并在控制器中抓取它,但似乎有一个更清晰的方法来确定。     
已邀请:
如果您将依赖于环境的代码放在控制器中,如下所示:
if ($env == 'production') {
    // send mail
}
它在控制器中添加逻辑 - 邮件的发送不再依赖于配置。 我认为最好在配置文件中添加一个
mail.enable
选项,并在代码中使用该特定选项来确定是否必须发送邮件。 这条路 : 配置是定义是否应发送邮件的配置 您希望从开发环境发送邮件的那一天,您只需更改配置文件中的一个条目;而不是代码。 当然,这意味着更多的配置条目(一个用于启用/禁用电子邮件,一个用于任何其他可以启用或不启用的东西);但是,最后,这就是配置的用途。     
当您按照ZF快速启动并使用命令行工具设置项目时,您可以使用一个名为APPLICATION_ENV的常量。 例如。
if(APPLICATION_ENV == "development")
{
  // custom logic here
}
这是在公用文件夹的index.php文件中定义的:
// Define application environment
defined('APPLICATION_ENV')
                || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
    

要回复问题请先登录注册