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 に答える