/** * EntityManager constructor. * * @param Configuration $configuration */ public function __construct(Configuration $configuration) { $this->configuration = $configuration; $this->metadataFactory = $configuration->getMetadataFactory(); $this->metadataFactory->setEntityManager($this); $this->unitOfWork = new UnitOfWork($this); $this->proxyFactory = new ProxyFactory($this); if (null !== ($cache = $this->configuration->getApiCache())) { $this->entityCache = new ApiEntityCache($this, $cache, $this->configuration->getApiCacheLogger()); } }
/** * @return Configuration */ protected function createConfiguration() { $configuration = new Configuration(); $configuration->setMetadataFactory(new EntityMetadataFactory()); $configuration->setRegistry($this->registry); $configuration->setTypeRegistry(new BaseTypeRegistry(new TypeRegistry())); $configuration->setProxyDir(CACHE_DIR . '/doctrine/proxy/'); $configuration->setProxyNamespace('Bankiru\\Api\\Test\\Proxy'); $driver = new MappingDriverChain(); $driver->addDriver(new YmlMetadataDriver(new SymfonyFileLocator([__DIR__ . '/../Test/Resources/config/api/' => 'Bankiru\\Api\\Test\\Entity'], '.api.yml', DIRECTORY_SEPARATOR)), 'Bankiru\\Api\\Test\\Entity'); $configuration->setDriver($driver); return $configuration; }