【发布时间】:2018-01-10 13:37:03
【问题描述】:
我正在将 symfony/config (v3.3) 作为独立组件集成到旧项目中。
除了配置处理器没有将继承/导入的配置config.yml 与环境配置config_<ENV>.yml 合并(正如我所期望的那样)之外,一切都很顺利。
调用$container->getExtensionConfig('whatever_node') 时,结果数组并没有得到合并的配置,而是包含两个配置。
编辑 1
事实证明,导入parameters.yml 来替换配置参数效果不佳(即在配置文件中使用%parameter_key%)。
编辑 2
以下是有关dev 环境的完整配置示例:
# parameters.yml
parameters:
app_some_parameter_1: 'Some value for parameter 1'
app_some_parameter_2: 'Another value for that second parameter'
# config.yml
imports:
- { resource: parameters.yml }
app:
some_parameter_1: '%app_some_parameter_1%'
some_parameter_2: '%app_some_parameter_2%'
# config_dev.yml
imports:
- { resource: config.yml }
app:
some_parameter_2: 'Parameter 2 value in the dev environment'
最终的预期配置:
[
"some_parameter_1" => "Some value for parameter 1",
"some_parameter_2" => "Parameter 2 value in the dev environment"
]
我得到了什么:
[
[
"some_parameter_1" => "%app_some_parameter_1%",
"some_parameter_2" => "%app_some_parameter_2%"
],
[
"some_parameter_2" => "Parameter 2 value in the dev environment"
]
]
【问题讨论】:
-
你尝试使用 %kernel.environment% 吗?可能是这样的:config_ %kernel.environment%.yml ?
-
不是这里的问题。
-
“两个配置”是什么意思?你能分享一个配置文件的例子,你得到的配置和你期望的配置吗?
-
这是@MatTheCat(见编辑2)。