src/Doctrine/DI/DoctrineExtension.php
private function processMetadataDrivers()
	{
		$builder = $this->getContainerBuilder();

		// At the moment, only Docblock annotations are supported, XML and YAML are not.		
		$annotationReader = $builder->addDefinition($this->prefix('metadata.annotationReader'))
			->setClass(AnnotationReader::class);

		$cachedReader = $builder->addDefinition($this->prefix('metadata.cachedReader'))
			->setClass(CachedReader::class)
			->setFactory(CachedReader::class, [
				'@' . $this->prefix('metadata.annotationReader'),
				'@' . $this->prefix('cache.annotations'),
				$this->debugMode
			]);

		$driverChain = $builder->addDefinition($this->prefix('metadata.driver'))
			->setClass(MappingDriverChain::class);

		foreach ($this->config['metadata'] as $namespace => $directory) {
			$driver = $builder->addDefinition($this->prefix('driver.' . $this->createServiceName($namespace)))
				->setClass(MappingDriver::class)
				->setFactory(AnnotationDriver::class, [
					'@' . $this->prefix('metadata.cachedReader'),
					$directory
				]);
			$driverChain->addSetup('$service->addDriver(?, ?)', [
				'@' . $this->prefix('driver.' . $this->createServiceName($namespace)), $namespace
			]);
		}
	}
private function processMetadataDrivers()
	{
		$builder = $this->getContainerBuilder();

		// At the moment, only Docblock annotations are supported, XML and YAML are not.		
		$annotationReader = $builder->addDefinition($this->prefix('metadata.annotationReader'))
			->setClass(AnnotationReader::class);

		$cachedReader = $builder->addDefinition($this->prefix('metadata.cachedReader'))
			->setClass(CachedReader::class)
			->setFactory(CachedReader::class, [
				'@' . $this->prefix('metadata.annotationReader'),
				'@' . $this->prefix('cache.annotations'),
				$this->debugMode
			]);

		$driverChain = $builder->addDefinition($this->prefix('metadata.driver'))
			->setClass(MappingDriverChain::class);

		foreach ($this->config['metadata'] as $namespace => $directory) {
			$driver = $builder->addDefinition($this->prefix('driver.' . $this->createServiceName($namespace)))
				->setClass(MappingDriver::class)
				->setFactory(AnnotationDriver::class, [
					'@' . $this->prefix('metadata.cachedReader'),
					$directory
				]);
			$driverChain->addSetup('$service->addDriver(?, ?)', [
				'@' . $this->prefix('driver.' . $this->createServiceName($namespace)), $namespace
			]);
		}
	}
private function processMetadataDrivers ( ) { $ builder = $ this -> getContainerBuilder ( ) ; // At the moment, only Docblock annotations are supported, XML and YAML are not.		 $ annotationReader = $ builder -> addDefinition ( $ this -> prefix ( 'metadata.annotationReader' ) ) -> setClass ( AnnotationReader :: class ) ; $ cachedReader = $ builder -> addDefinition ( $ this -> prefix ( 'metadata.cachedReader' ) ) -> setClass ( CachedReader :: class ) -> setFactory ( CachedReader :: class , [ '@' . $ this -> prefix ( 'metadata.annotationReader' ) , '@' . $ this -> prefix ( 'cache.annotations' ) , $ this -> debugMode ] ) ; $ driverChain = $ builder -> addDefinition ( $ this -> prefix ( 'metadata.driver' ) ) -> setClass ( MappingDriverChain :: class ) ; foreach ( $ this -> config [ 'metadata' ] as $ namespace => $ directory ) { $ driver = $ builder -> addDefinition ( $ this -> prefix ( 'driver.' . $ this -> createServiceName ( $ namespace ) ) ) -> setClass ( MappingDriver :: class ) -> setFactory ( AnnotationDriver :: class , [ '@' . $ this -> prefix ( 'metadata.cachedReader' ) , $ directory ] ) ; $ driverChain -> addSetup ( '$service->addDriver(?, ?)' , [ '@' . $ this -> prefix ( 'driver.' . $ this -> createServiceName ( $ namespace ) ) , $ namespace ] ) ; } }
Registers metadata drivers.
Registers metadata drivers .