У меня есть служба, которая вызывается при каждом вызове контроллера, и мне нужно получить контроллер, который будет вызываться.
Итак, я нашел 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)
{
Как мне "смоделировать" внедрение зависимости?
Спасибо!