2016-09-20 61 views
1

我想在Symfony環境中設置不同的參數值。下面不起作用,但它給一個想法......不同價值的Symfony服務環境

config.yml

mytest: 
    key: "VALUE_1" 

config_dev.yml

mytest: 
    key: "VALUE_2" 

services.yml

apiclient: 
    class:  My\Class    
    arguments: 
     apikey: "@mytest.key" 
+0

'@ ..'是用來引用一個服務的,你想要一個參數,所以你需要編寫'%myParam%' – lolmx

回答

3

最簡單的方法就是定義一個參數:

在第parametersconfig.yml添加

parameters: 
    mytest.key: "VALUE_1" 

同樣在config_dev.yml(如果沒有parameters部分,只是創建它)

parameters: 
    mytest.key: "VALUE_2" 

然後你把它:

apiclient: 
    class:  My\Class    
    arguments: 
     apikey: "%mytest.key%" 

我不認爲這是可能的嵌套參數。並且making config values是可能的,但是在這種情況下將是明顯的過度工程案例。

+0

這種方式我不喜歡(我知道它),因爲通常參數是在作曲家安裝後問(我知道它也可能跳過一些,但我更喜歡其他解決方案) –

+2

你不太對。在'composer install'或'update'期間,只會詢問這些參數,這些參數存儲在'parameters.yml.dist'中。但我的解決方案建議將它們放在'config.yml'中,在這種情況下,作曲家不會要求他們 –

+0

爲真,現在對我而言,您的答案是有效的。謝謝! –