Symfony 如何在YAML中的另一个参数中使用参数

Symfony 如何在YAML中的另一个参数中使用参数,symfony,twig,yaml,Symfony,Twig,Yaml,所以我需要在另一个参数中附加一个参数。 像这样(这确实有效) 但只要试着更深一步 parameters: nodeSettings: locationMenuTop: 21142 cjwsiteaccess.textilenetwork_de.parameters: locationMenuTop: %nodeSettings.locationMenuTop% 它抛出了这个错误 如果将参数定义为数组,则无法通过“路径”(即%array.key%)检索它们 解

所以我需要在另一个参数中附加一个参数。 像这样(这确实有效)

但只要试着更深一步

parameters:
    nodeSettings: 
         locationMenuTop: 21142
cjwsiteaccess.textilenetwork_de.parameters:
    locationMenuTop: %nodeSettings.locationMenuTop%
它抛出了这个错误


如果将参数定义为数组,则无法通过“路径”(即
%array.key%
)检索它们

解决办法:

parameters:
    nodeSettings.locationMenuTop: 21142
    nodeSettings.locationMenuBottom: ...
    # And so on
cjwsiteaccess.textilenetwork_de.parameters:
    locationMenuTop: %nodeSettings.locationMenuTop%

不能将多维数组用作
%array.key%
。看看这个问题及其答案:这个问题是指在使用依赖注入时连接参数,这就是为什么我不将它标记为重复。问题是一样的。您不能通过执行
%array.key%
来检索作为数组键的参数,并且这不仅在服务声明中,而且在任何地方都可以。此外,给出的答案也会有所帮助。您可以将参数定义为
nodeSettings.locationMenuTop:21142
,并对
nodeSettings
的每个参数执行相同的操作。或者写你自己的
ParameterBag
我不能写我自己的参数包,我为一家没有给我太多灵活性的大公司使用这段代码,因为15个不同的站点在同一代码上运行。但是你可以把上面的评论作为对我问题的回答。
parameters:
    nodeSettings.locationMenuTop: 21142
    nodeSettings.locationMenuBottom: ...
    # And so on
cjwsiteaccess.textilenetwork_de.parameters:
    locationMenuTop: %nodeSettings.locationMenuTop%