在Symfony中合并配置参数

时间:2017-10-02 10:07:21

标签: php symfony configuration symfony-3.3

我目前正在使用Symfony的配置处理。我想覆盖开发环境的某些嵌套参数。

我的 config.yml 包含:

parameters:
    curl:
        return_transfer: true
        timeout: 25
        connect_timeout: 2

我的 config_dev.yml 包含:

parameters:
    curl:
        timeout: 60

所以,我只想覆盖一个(嵌套的)配置参数“timeout”。但我只在dev环境容器中获得此(重写)参数。其他的(return_transfer和connect_timeout)消失了。似乎整个参数配置被替换而不与config.yml合并。如何合并这些参数?

谢谢!

2 个答案:

答案 0 :(得分:2)

Parameters是一维数组。这意味着您的curl参数实际上是一个值数组,而不是参数。 我相信你只能在你的dev参数中复制这些。

    return_transfer: true
    connect_timeout: 2

答案 1 :(得分:1)

确保' config_dev.yml`中至少包含以下几行:

imports: - { resource: '../common/config.yml' }

并确保您的应用程序以-env = dev模式启动,以在标准Symfony设置中加载config_dev.yml。

有关详细信息,请同时检查Documenation