container = $container; parent::__construct('ORM', $connections, $entityManagers, $defaultConnection, $defaultEntityManager, 'Doctrine\ORM\Proxy\Proxy'); } /** * Resolves a registered namespace alias to the full namespace. * * This method looks for the alias in all registered entity managers. * * @see Configuration::getEntityNamespace * * @param string $alias The alias * * @return string The full namespace */ public function getAliasNamespace($alias) { foreach (array_keys($this->getManagers()) as $name) { $objectManager = $this->getManager($name); if (! $objectManager instanceof EntityManagerInterface) { continue; } try { return $objectManager->getConfiguration()->getEntityNamespace($alias); } catch (ORMException $e) { } } throw ORMException::unknownEntityNamespace($alias); } public function reset(): void { foreach ($this->getManagerNames() as $managerName => $serviceId) { $this->resetOrClearManager($managerName, $serviceId); } } private function resetOrClearManager(string $managerName, string $serviceId): void { if (! $this->container->initialized($serviceId)) { return; } $manager = $this->container->get($serviceId); assert($manager instanceof EntityManagerInterface); if (! $manager instanceof LazyLoadingInterface || $manager->isOpen()) { $manager->clear(); return; } $this->resetManager($managerName); } }