2013-08-03 40 views
0

我正在用Symfony 2组件构建一个库,并且在我使用Symfony的依赖注入的核心。用纯Symfony 2容器生成器配置Doctrine 2

对于配置我只是我的服务容器创建这样的后加载配置文件:

$container = new ContainerBuilder(); 

$loader = new YamlFileLoader($container, new FileLocator($configPath)); 
$loader->load('container.yml'); 

$this->setContainer($container); 

这只是我的加载的所有服务。不过,我现在需要配置主义2.当我添加一个基本的原则配置文件:

doctrine: 
     dbal: 
      default_connection: default 
      connections: 
       default: 
        driver: "%database_driver%" 
        host:  "%database_host%" 
        port:  "%database_port%" 
        dbname: "%database_name%" 
        user:  "%database_user%" 
        password: "%database_password%" 
        charset: UTF8 
     orm: 
      default_entity_manager: default 
      entity_managers: 
       default: 
        connection:  default 
        mappings: 
         AcmeDemoBundle: ~ 
         AcmeStoreBundle: ~ 

我收到以下错误,当我运行我的测试:

Symfony\Component\DependencyInjection\Exception\InvalidArgumentException: There is no extension able to load the configuration for "doctrine". Looked for namespace "doctrine", found none 

我想我需要写“教条”配置文件的配置扩展,但我坚持在这方面的细节。

任何洞见赞赏。

回答

0

由于您使用的是普通的容器,你必须自己配置doctrine部分。在Symfony框架中,它设置了一个依赖注入扩展,您可以在DoctrineBundle中找到它(请参阅此处了解深入信息)。

这就是所谓的semantic configuration