Symfony2:访问config.yml和config _ *。yml中定义的变量

时间:2011-12-17 11:25:50

标签: php symfony

假设我的网站上有一个简单的传统联系表单,我希望它在开发环境中使用主题“Test:(subject_field value)”,在发送电子邮件时使用“(subject_field_value)”。有没有办法在config_dev.yml和config_prod.yml中定义一个名为“subject_prefix”的变量,然后只使用$this->get('config')->get('subject_prefix')之类的东西?我希望调用在dev环境中返回“Test:(subject_field value)”,在prod环境中返回“(subject_field_value)”。

3 个答案:

答案 0 :(得分:7)

最好的办法是:

config.yml

parameters:
    url: domain.com

控制器

$value = $this->container->getParameter('url');

希望它有所帮助。

在Symfony 2.7 +中:

$value = $this->getParameter('url');

答案 1 :(得分:4)

答案 2 :(得分:0)

如果你不想弄乱你的" parameters.yml"并且想要将它存储在config.yml和config_dev.yml中,看看我的答案:

How do I read configuration settings from Symfony2 config.yml?

包含两种方法的那个:

  • FIRST APPROACH:分离配置块,将其作为参数
  • 第二种方法:分离配置块,将配置注入服务

希望这有帮助!