0

我想创建这个:

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),但没有一个对我有帮助。

任何帮助将不胜感激

4

1 回答 1

1

假设您将站点编号存储在site参数中,在您的捆绑包的 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);
}
于 2012-05-11T17:03:24.377 回答