我想创建这个:
MyBundle/resources/config/settings/site1.yml
MyBundle/resources/config/settings/site2.yml
MyBundle/resources/config/settings/site3.yml
我可以在每个人的内部:
parameterWidth: 230
parameterHeight: 145
有人可以帮助我创建扩展程序,以便我可以在控制器中使用基于变量(1,2,3)的值来加载特定的配置吗?
我已经阅读了有关扩展的文档(http://symfony.com/doc/current/cookbook/bundles/extension.html),但没有一篇能帮助我。
任何帮助都会感激不尽
答案 0 :(得分:1)
假设您将站点号存储在站点参数中,在您的捆绑包的DependencyInjection扩展中,您可以执行以下操作:
public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$this->processConfiguration($configuration, $configs);
$file = 'default.yml';
if ($container->hasParameter('site')) {
$file = 'site'.$container->getParameter('site');
}
$loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config/settings'));
$loader->load($file);
}