我是Symfony的新手,我在这个阶段做了一些模板,并连接到数据库(Oracle在工作,mysql在家里)。
然而,我现在只有yaml文件中的详细信息,这不是很安全。在我们的PHP应用程序(将转移到Symfony)中,PHP处理安全密码,我们可能最终使用密码管理器Pro或证书之类的东西。
我怎么能覆盖什么在yaml文件和处理密码,连接字符串等从PHP内?
为将来参考(来自http://symfony.com/doc/current/configuration/external_parameters.html#environment-variables,谢谢malcolm),请执行以下操作:
1)在app/config/中添加一个parameters.php,代码如下:
<?php // app/config/parameters.php
$container->setParameter('database_name', 'dbname');
$container->setParameter('database_user', 'username');
$container->setParameter('database_password', 'password');
你可以从你的参数中添加任何你想要的参数。Yml文件(或配置中的其他文件)
2)通过在config.yml的imports:部分中添加以下内容导入该文件:
- { resource: parameters.php }
这将使该部分看起来像:
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
- { resource: parameters.php }
,通常位于config.yml的开头。
现在参数。php中的任何内容都将覆盖参数中的任何内容。yml文件。