我想动态设置app/config/parameters.yml
文件中的数据库配置(用户名,主机,密码等)。
“动态”的含义是基于某种形式的输入。
这可能吗?如果是这样,我该怎么做?
答案 0 :(得分:2)
请查看symfony标准版中已包含的Sensio/SensioDistributionBundle。
它完全符合您的要求。在parameters.yml文件中设置基本参数。
执行parameters.yml实际编写的类是Sensio\DistributionBundle\Configurator\Configurator。
use Sensio\DistributionBundle\Configurator\Configurator;
现在使用Controller中的配置程序。
$configurator = new Configurator($this->get('kernel')->getRootDir());
$configurator->mergeParameters(array(
'my_parameter' = 'my_value',
'my_parameter2' = 'my_value2',
));
$configurator->write();
}
最好的方法是查看Configurator类本身,了解它是如何工作的。
希望这会有所帮助:)