【问题标题】:Symfony service with different value params by environment不同环境值参数的 Symfony 服务
【发布时间】:2016-09-20 08:27:52
【问题描述】:

我想通过 Symfony 的环境在服务中设置不同的参数值。下面的行不通,不过是给个思路……

config.yml

mytest:
   key: "VALUE_1"

config_dev.yml

mytest:
   key: "VALUE_2"

services.yml

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

【问题讨论】:

  • @..是引用一个服务,你想要一个参数,所以你需要写%myParam%

标签: php symfony


【解决方案1】:

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

config.yml 部分parameters 下添加

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 是可能的,但在这种情况下很明显是过度设计。

【讨论】:

  • 我不喜欢这种方式(我知道),因为通常在作曲家安装后会询问参数(我知道它也可以跳过一些,但我只是更喜欢其他解决方案)
  • 你不太对。在composer installupdate 期间,仅询问那些存储在parameters.yml.dist 中的参数。但我的解决方案建议将它们放在config.yml,在这种情况下作曲家不会问他们
  • 是的,现在对我来说你的答案是有效的。谢谢!
猜你喜欢
  • 2019-01-04
  • 2015-06-02
  • 2020-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-12
相关资源
最近更新 更多