1

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

我所说的“动态”是基于某种形式的输入。

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

4

1 回答 1

2

请查看Sensio/SensioDistributionBundle,它已经包含在 symfony 标准版中。

它完全符合您的要求。在 parameters.yml 文件中设置基本参数。

执行 parameters.yml 实际写入的类是Sensio\DistributionBundle\Configurator\Configurator

use Sensio\DistributionBundle\Configurator\Configurator;

现在使用控制器中的配置器。

   $configurator = new Configurator($this->get('kernel')->getRootDir());

   $configurator->mergeParameters(array(
        'my_parameter' = 'my_value',
        'my_parameter2' = 'my_value2',
   ));

  $configurator->write();
}

最好的办法是查看 Configurator 类本身以了解它是如何工作的。

希望这可以帮助 :)

于 2013-05-25T18:39:35.300 回答