Symfony 3.3 DI. Доступ к имени службы (имени класса) внутри фабрики услуг

Я хочу зарегистрировать все хранилища Doctrine как сервисы

Я нашел этот подход: Как настроить внедрение зависимостей для класса репозитория в Symfony 3

Но таким образом я должен зарегистрировать каждый репозиторий вручную.

Я хотел бы создать некоторые Сервисная фабрика это создало бы для меня экземпляры репозиториев, дав только имя класса репозитория.

Что-то вроде этого:

namespace AppBundle\Service;

use Doctrine\ORM\EntityManagerInterface;

class RepositoryFactory
{
/**
* @var EntityManagerInterface
*/
private $manager;

public function __construct(EntityManagerInterface $manager)
{
$this->manager = $manager;
}

public function getRepository(string $repositoryClass)
{
// do some magic that somehow obtaining actual repo
return $repo;
}
}

service.yml

AppBundle\Service\RepositoryFactory:
autowire: true

но документы Symfony ничего не говорят о том, как передать имя сервиса, которое вы хотите создать (если это возможно) в этой фабрике

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector