2011-12-17 50 views
7

假設我在我的網站上有一個簡單的傳統聯繫表單,我希望它在開發環境中使用主題「Test:(subject_field value)」,並且發送電子郵件時在產品環境中的「(subject_field_value)」。有沒有辦法在config_dev.yml和config_prod.yml中定義一個名爲「subject_prefix」的變量,然後使用類似$this->get('config')->get('subject_prefix')的東西?我期望這個調用在開發環境中返回「Test:(subject_field value)」,在prod環境中返回「(subject_field_value)」。Symfony2:訪問config.yml和config中定義的變量_ *。yml

回答

7

做的最好的是:

config.yml

parameters: 
    url: domain.com 

控制器

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

希望它能幫助。

在Symfony的2.7+:

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

簡而言之,謝謝! –

+0

這幫了我,謝謝 –

0

如果你不想搞亂你的「parameters.yml」,並確實想將其存儲在config.yml,並在我的答案config_dev.yml看這裏:

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

包含兩種方法的一個:

  • FIRST做法:分居配置塊,得到它作爲一個參數
  • 第二種方法:分居配置塊,在配置注入服務

希望這有助於!