Symfony - Resolver контроллера не может создать экземпляр контроллера - PullRequest
0 голосов
/ 30 октября 2019

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

Итак, я нашел ControllerResolver, но когда я его использую, он находит нужный контроллер, ноон не может создать экземпляр моего нового контроллера, поскольку ожидает аргументы, которые обычно находятся с внедрением зависимостей.

Моя служба конструктора:

public function __construct(RouterInterface $router, RequestStack $requestStack,
                                TokenStorageInterface $tokenStorage,
                                FonctionnalitRepository $fonctionnalitRepository)
    {
        $this->router = $router;
        $this->requestStack = $requestStack;
        $this->tokenStorage = $tokenStorage;
        $this->fonctionnaliteRepository = $fonctionnalitRepository;
        $test = new ControllerResolver();
        $this->utilisateurController = $test->getController($requestStack->getCurrentRequest());
    }

А затем ошибка:

Слишком мало аргументов для функции App \ Controller \ Admin \ FonctionnaliteController :: __ construct (), 0 передано в C: \ xampp \ htdocs \ admin-emfor-bfc \ vendor \ symfony \ http-kernel \ Controller \ ControllerResolver.php вожидается строка 151 и ровно 5

И мой конструктор FonctionnaliteController:

public function __construct(EntityManagerInterface $entityManager, ObjectManager $objectManager, UserPasswordEncoderInterface $userPasswordEncoder, Environment $environment, RouterInterface $router)
    {

Как мне "смоделировать" внедрение зависимости?

Спасибо!

...