2

私はapp/config.ymlこれを持っています:

# Doctrine Configuration
doctrine:
    dbal:
        driver:   %database_driver%
        host:     %database_host%
        port:     %database_port%
        dbname:   %database_name%
        user:     %database_user%
        password: %database_password%

    orm:
        auto_generate_proxy_classes: %kernel.debug%
        auto_mapping: true

ここで、バンドルを作成し、この構成の一部をオーバーライドしたいと考えています。

doctrine:
    orm:
        resolve_target_entities:
              Acme\UserBundle\Interfaces\User: Acme\MyBundle\Entity\User

この構成を変更せずに追加したいapp/config.yml

4

2 に答える 2

2

これで使用できますPrependExtensionInterface

class ThirisCartLogicCatalogExtension extends Extension implements PrependExtensionInterface
{    
    public function prepend(ContainerBuilder $container)
    {
        $config = Yaml::parse(file_get_contents(__DIR__.'/../Resources/config/config.yml'));

        foreach ($config as $key => $configuration) {
            $container->prependExtensionConfig($key, $configuration);
        }
    }
}

このコードを使用すると、バンドルの config.yml が無条件にグローバル構成にマージされます。

ロードした構成ファイルは、この方法では構文が検証されないことに注意してください。

于 2015-11-08T17:49:38.117 に答える