entityManager) { $this->entityManager = $this->container->getByClass(EntityManager::class); } return $this->entityManager; } public function getNewEntity(string $entityType): Entity { return $this->getEntityManager()->getNewEntity($entityType); } public function getEntityById(string $entityType, string $id): ?Entity { return $this->getEntityManager()->getEntityById($entityType, $id); } public function getEntity(string $entityType, ?string $id = null): ?Entity { return $this->getEntityManager()->getEntity($entityType, $id); } /** * @param array $options * @return void */ public function saveEntity(Entity $entity, array $options = []) { /** Return for backward compatibility. */ /** @phpstan-ignore-next-line */ return $this->getEntityManager()->saveEntity($entity, $options); } /** * @return Repository */ public function getRepository(string $entityType): Repository { return $this->getEntityManager()->getRepository($entityType); } /** * @return RDBRepository */ public function getRDBRepository(string $entityType): RDBRepository { return $this->getEntityManager()->getRDBRepository($entityType); } public function getMetadata(): Metadata { return $this->getEntityManager()->getMetadata(); } public function getSqlExecutor(): SqlExecutor { return $this->getEntityManager()->getSqlExecutor(); } /** * Get an RDB repository by an entity class name. * * @template T of Entity * @param class-string $className An entity class name. * @return RDBRepository */ public function getRDBRepositoryByClass(string $className): RDBRepository { return $this->getEntityManager()->getRDBRepositoryByClass($className); } /** * Get a repository by an entity class name. * * @template T of Entity * @param class-string $className An entity class name. * @return Repository */ public function getRepositoryByClass(string $className): Repository { return $this->getEntityManager()->getRepositoryByClass($className); } }