2013-08-03 41 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