Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按环境具有不同值参数的Symfony服务_Php_Symfony - Fatal编程技术网

Php 按环境具有不同值参数的Symfony服务

Php 按环境具有不同值参数的Symfony服务,php,symfony,Php,Symfony,我想用Symfony在服务中按环境设置不同的param值。下面的不起作用,但它只是给出一个想法 config.yml mytest: key: "VALUE_1" config_dev.yml mytest: key: "VALUE_2" 服务.yml apiclient: class: My\Class arguments: apikey: "@mytest.key" 最简单的方法是定义一个参数: 在con

我想用Symfony在服务中按环境设置不同的param值。下面的不起作用,但它只是给出一个想法

config.yml

mytest:
   key: "VALUE_1"
config_dev.yml

mytest:
   key: "VALUE_2"
服务.yml

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

最简单的方法是定义一个参数:

config.yml
参数部分下添加

parameters:
    mytest.key: "VALUE_1"
类似地,在
config_dev.yml
中(如果没有
参数
部分,只需创建它)

然后你就做了:

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

我认为不可能创建嵌套参数。这是可能的,但在这种情况下显然是过度工程。

@..
用于引用服务,您希望有一个参数,因此您需要以我不喜欢(我知道)的方式编写
%myParam%
,因为通常在composer安装后会询问参数(我知道也可以跳过一些,但我更喜欢其他解决方案)你说得不太对。在
composer安装
更新
期间,只会询问那些参数,它们存储在
parameters.yml.dist
中。但我的解决方案建议将它们放在
config.yml
中,在这种情况下,composer不会问它们true,现在你的答案对我来说是有效的。谢谢!
apiclient:
    class:        My\Class            
    arguments:
        apikey: "%mytest.key%"