2016-09-20 63 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

为真,现在对我而言,您的答案是有效的。谢谢! –