有没有办法根据某个条件设置symfony中的参数,例如:一个ENV var? 表达语言出现在我的脑海中,但它似乎只支持参数,属性和调用
config.yml:
parameters:
env(CI): false
ci: '%env(CI)%'
database_host: "@=parameter(ci) ? 'localhost' : 'mysql'"
doctrine:
dbal:
connections:
cms:
host: "%database_host%"
更新
在这种情况下表达式语言不起作用(目前达到SF 3.3)所以我使用了Oli的方法:
get_params_from_env.php:
$container->setParameter('database_host', 'mysql');
if (getenv('CI')) {
$container->setParameter('database_host', '127.0.0.1');
}
答案 0 :(得分:1)
将此行添加到config.yml:
imports:
- { resource: get_params_from_env.php }
然后,在php文件中,使用:
<?php
$container->setParameter('app.dummy_var', getenv('DUMMY_VAR'));
您可以在“高级技巧”下阅读有关包含您自己的PHP文件的信息&#39;:http://symfony.com/doc/current/configuration/configuration_organization.html