- <?php
- namespace Doctrine\Bundle\DoctrineBundle\Repository;
- use Doctrine\ORM\EntityRepository;
- use Doctrine\Persistence\ManagerRegistry;
- use LogicException;
- use Symfony\Component\VarExporter\LazyGhostTrait;
- use function sprintf;
- use function trait_exists;
- if (trait_exists(LazyGhostTrait::class)) {
-     /**
-      * @template T of object
-      * @template-extends LazyServiceEntityRepository<T>
-      */
-     class ServiceEntityRepository extends LazyServiceEntityRepository
-     {
-     }
- } else {
-     /**
-      * Optional EntityRepository base class with a simplified constructor (for autowiring).
-      *
-      * To use in your class, inject the "registry" service and call
-      * the parent constructor. For example:
-      *
-      * class YourEntityRepository extends ServiceEntityRepository
-      * {
-      *     public function __construct(ManagerRegistry $registry)
-      *     {
-      *         parent::__construct($registry, YourEntity::class);
-      *     }
-      * }
-      *
-      * @template T of object
-      * @template-extends EntityRepository<T>
-      */
-     class ServiceEntityRepository extends EntityRepository implements ServiceEntityRepositoryInterface
-     {
-         /**
-          * @param string $entityClass The class name of the entity this repository manages
-          * @psalm-param class-string<T> $entityClass
-          */
-         public function __construct(ManagerRegistry $registry, string $entityClass)
-         {
-             $manager = $registry->getManagerForClass($entityClass);
-             if ($manager === null) {
-                 throw new LogicException(sprintf(
-                     'Could not find the entity manager for class "%s". Check your Doctrine configuration to make sure it is configured to load this entity’s metadata.',
-                     $entityClass
-                 ));
-             }
-             parent::__construct($manager, $manager->getClassMetadata($entityClass));
-         }
-     }
- }
-