![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/vendor/doctrine/doctrine-bundle/ |
<?php namespace Doctrine\Bundle\DoctrineBundle; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\ORMException; use Doctrine\Persistence\Proxy; use ProxyManager\Proxy\LazyLoadingInterface; use Psr\Container\ContainerInterface; use Symfony\Bridge\Doctrine\ManagerRegistry; use Symfony\Component\VarExporter\LazyObjectInterface; use Symfony\Contracts\Service\ResetInterface; use function array_keys; use function assert; /** * References all Doctrine connections and entity managers in a given Container. */ class Registry extends ManagerRegistry implements ResetInterface { /** * @param string[] $connections * @param string[] $entityManagers */ public function __construct(ContainerInterface $container, array $connections, array $entityManagers, string $defaultConnection, string $defaultEntityManager) { $this->container = $container; parent::__construct('ORM', $connections, $entityManagers, $defaultConnection, $defaultEntityManager, Proxy::class); } /** * 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 instanceof LazyObjectInterface) || $manager->isOpen()) { $manager->clear(); return; } $this->resetManager($managerName); } }