变量中的Symfony参数变量

变量中的Symfony参数变量,symfony,Symfony,我在一个symfony项目上工作,我想在app/config/parameters.yml中做类似的事情 dev.google.api.key: foo google: %%kernel.environment%.google% 它不起作用 我解释:我想让变量google根据我的环境(env或prod)具有值 所以我定义了两个变量: dev.google.api.key: foo prod.google.api.key: bar 我想让我的变量google根据环境填充内容。环境在变量中 %k

我在一个symfony项目上工作,我想在app/config/parameters.yml中做类似的事情

dev.google.api.key: foo
google: %%kernel.environment%.google%
它不起作用

我解释:我想让变量google根据我的环境(env或prod)具有值

所以我定义了两个变量:

dev.google.api.key: foo
prod.google.api.key: bar
我想让我的变量google根据环境填充内容。环境在变量中

%kernel.environment%
因此,如果我这样做:

google: %kernel.environment%.google
Google等于“dev.Google”,但我希望此字符串的计算结果与%dev.Google%相同。但是%%kernel.environment%.google%不起作用

一个主意?
谢谢

您可以尝试以下方法:

在您的配置中_dev.yml

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
google: %google.api.key%
imports:
    - { resource: paramater_dev.yml }
    - { resource: config.yml }
imports:
    - { resource: paramater_prod.yml }
    - { resource: config.yml }
google: %google.api.key%
在您的配置中_prod.yml

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
google: %google.api.key%
imports:
    - { resource: paramater_dev.yml }
    - { resource: config.yml }
imports:
    - { resource: paramater_prod.yml }
    - { resource: config.yml }
google: %google.api.key%
在您的config.yml中:

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
google: %google.api.key%
imports:
    - { resource: paramater_dev.yml }
    - { resource: config.yml }
imports:
    - { resource: paramater_prod.yml }
    - { resource: config.yml }
google: %google.api.key%

使用

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
使用创建参数_prod.yml

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
在您的配置中_dev.yml

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
google: %google.api.key%
imports:
    - { resource: paramater_dev.yml }
    - { resource: config.yml }
imports:
    - { resource: paramater_prod.yml }
    - { resource: config.yml }
google: %google.api.key%
在您的配置中_prod.yml

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
google: %google.api.key%
imports:
    - { resource: paramater_dev.yml }
    - { resource: config.yml }
imports:
    - { resource: paramater_prod.yml }
    - { resource: config.yml }
google: %google.api.key%
在您的config.yml中:

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
google: %google.api.key%
imports:
    - { resource: paramater_dev.yml }
    - { resource: config.yml }
imports:
    - { resource: paramater_prod.yml }
    - { resource: config.yml }
google: %google.api.key%

您可以尝试以下方法:

在您的配置中_dev.yml

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
google: %google.api.key%
imports:
    - { resource: paramater_dev.yml }
    - { resource: config.yml }
imports:
    - { resource: paramater_prod.yml }
    - { resource: config.yml }
google: %google.api.key%
在您的配置中_prod.yml

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
google: %google.api.key%
imports:
    - { resource: paramater_dev.yml }
    - { resource: config.yml }
imports:
    - { resource: paramater_prod.yml }
    - { resource: config.yml }
google: %google.api.key%
在您的config.yml中:

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
google: %google.api.key%
imports:
    - { resource: paramater_dev.yml }
    - { resource: config.yml }
imports:
    - { resource: paramater_prod.yml }
    - { resource: config.yml }
google: %google.api.key%

使用

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
使用创建参数_prod.yml

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
在您的配置中_dev.yml

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
google: %google.api.key%
imports:
    - { resource: paramater_dev.yml }
    - { resource: config.yml }
imports:
    - { resource: paramater_prod.yml }
    - { resource: config.yml }
google: %google.api.key%
在您的配置中_prod.yml

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
google: %google.api.key%
imports:
    - { resource: paramater_dev.yml }
    - { resource: config.yml }
imports:
    - { resource: paramater_prod.yml }
    - { resource: config.yml }
google: %google.api.key%
在您的config.yml中:

parameters:
    google.api.key: foo
parameters:
    google.api.key: bar
google: %google.api.key%
imports:
    - { resource: paramater_dev.yml }
    - { resource: config.yml }
imports:
    - { resource: paramater_prod.yml }
    - { resource: config.yml }
google: %google.api.key%

我认为这是不可能的。但我认为你把你的需要复杂化了。您真的需要声明此参数吗?您有config_dev.yml和config_prod.yml文件yes,但无法从我的小树枝文件的config.yml中获取内容。我想将这个变量添加到我的小树枝:globals。但要将此变量保留在参数中,以避免在多个文件中添加变量。但是放弃吧,我把我的VAR放在配置环境中。谢谢可能的复制品我认为这是不可能的。但我认为你把你的需要复杂化了。您真的需要声明此参数吗?您有config_dev.yml和config_prod.yml文件yes,但无法从我的小树枝文件的config.yml中获取内容。我想将这个变量添加到我的小树枝:globals。但要将此变量保留在参数中,以避免在多个文件中添加变量。但是放弃吧,我把我的VAR放在配置环境中。感谢可能的副本