. */ namespace Doctrine\Common\Persistence\Mapping\Driver; use Doctrine\Common\Persistence\Mapping\ClassMetadata; /** * The PHPDriver includes php files which just populate ClassMetadataInfo * instances with plain PHP code. * * @link www.doctrine-project.org * @since 2.0 * @author Benjamin Eberlei * @author Guilherme Blanco * @author Jonathan H. Wage * @author Roman Borschel */ class PHPDriver extends FileDriver { /** * @var ClassMetadata */ protected $metadata; /** * {@inheritDoc} */ public function __construct($locator) { parent::__construct($locator, '.php'); } /** * {@inheritDoc} */ public function loadMetadataForClass($className, ClassMetadata $metadata) { $this->metadata = $metadata; $this->loadMappingFile($this->locator->findMappingFile($className)); } /** * {@inheritDoc} */ protected function loadMappingFile($file) { $metadata = $this->metadata; include $file; return [$metadata->getName() => $metadata]; } }