动态设置数据库参数

时间:2013-05-25 16:58:23

标签: symfony

我想动态设置app/config/parameters.yml文件中的数据库配置(用户名,主机,密码等)。

“动态”的含义是基于某种形式的输入。

这可能吗?如果是这样,我该怎么做?

1 个答案:

答案 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类本身,了解它是如何工作的。

希望这会有所帮助:)