2016-10-05 2 views
1

私はカスタムバンドルを持っています。それはFooBarBundleと呼ばせてください。カスタムバンドルに別のバンドル(Doctrine)の独自の設定を追加できるようにする

さて、カスタム拡張の中から、私は以下を付加したいと思います:

# Doctrine Configuration 
doctrine: 
    orm: 
     mappings: 
      FooBarBundle : ~ 

私はこれを可能にすべきではないという信念の下だけど、私はそのいずれかの確認を見つけることができません1つのバンドルは、別のバンドルの構成オプションの前に追加することはできません。私はこれが関連しているかどうかわからないんだけど

http://symfony.com/doc/current/bundles/prepend_extension.html

理想的には、私は自分の教義のマッピングを追加するのではなく、各バンドルを使用する際にConfig.ymlの更新に依存する自分の束の束をしたいと思います。

+0

symfony設定コンポーネントでは、設定ファイルを複数の場所に定義することができます。それは、教義拡張がどのように書かれているかに部分的に依存する。私は、いくつかのdebugステートメントをvendor/doctrine/doctrine-bundleに入れて、何が起こるかを見たいと思うでしょう。これを行うことの価値については少し懐疑的ですが、それがうまくいくかどうかを見ることに興味があり、 – Cerad

答えて

1

はい、あなたはconfig.ymlファイル更新することなく、各バンドルのためにこれを行うことができます。

namespace FooBarBundle\DependencyInjection; 

// ... 

class FooBarExtension extends Extension implements PrependExtensionInterface 
{ 
    //... 

    public function prepend(ContainerBuilder $container) 
    { 
     $container->loadFromExtension('doctrine', array(
      'orm' => array(
       'mappings' => array(
        'FooBarBundle' => null, 
       ) 
      ), 
     )); 
    } 
} 

をあなたは多くの束を持っている場合は、各設定がマージされます。

関連する問題