Symfony 2:是否可以在YAML文件中导入PHP文件?

时间:2019-01-10 06:31:25

标签: php symfony

我正在尝试将变量从PHP配置文件传递到YAML文件,我不确定它是否可以正常工作,因为客户端尚无法提供某些令牌问题,因此我无法对其进行测试。

我所做的是:

在PHP文件Config.php中创建了Config类的对象:

$obj = new Config();
$obj->processEnv();
$obj->define('PROD_PASSWORD', '12345');

在YAML文件中:

imports:
    - { resource: Config.php }

prod:
   doctrine:
   class: sfDoctrineDatabase
param:
   username: username
   password: %PROD_PASSWORD%    

请告知这是一种好的做法,还是有其他方法可以实现?

1 个答案:

答案 0 :(得分:2)

是的,混合格式非常好,在某些情况下,Symfony甚至建议使用不同的格式,例如,当您编写将分发的分发包时,最佳做法建议使用XML,而默认情况下,建议在应用程序中使用YAML。当使用一种格式(在生产中)使用另一种格式时,没有性能上的缺点,因为在任何情况下,配置都会被编译并缓存为.php文件。只要在内核中注册了适当的加载器,它就可以加载配置并将其与其余配置合并。

作为最佳实践,您应该坚持一种格式,以使其他人更容易加入该项目。由于所有格式都支持相同的功能,并且格式不受性能的影响,因此我看不出混合样式的原因。