如何定义参数以便它们由环境变量设置,但是当环境变量不存在时它们不会导致错误。
换句话说,它们是不需要的参数,但是当它们存在时由环境变量定义。
foo: '%env(resolve:MYFOO)%'
当环境变量MYFOO
不存在时,上面的示例将生成错误。
答案 0 :(得分:0)
您可以将默认值设置为env vars,如下所示:
parameters:
env(MYFOO): bar
foo: '%env(resolve:MYFOO)%'
如果您需要添加更多特定逻辑,可以创建一个parameters_env.php
文件,以便加载环境变量并输入一些逻辑。
例如:
在 config / config.yml
中imports:
- { resource: parameters.yml }
- { resource: parameters_env.php }
在 config / parameters_env.php
中<?php
if (isset($_ENV['MYFOO'])) {
$container->setParameter('foo', getenv('MYFOO'));
}else{
//default value or load from another resource.
}