Bonjour tout le monde,
J'aimerais tester le set d'un controller dans un EventListener qui gère l'event kernel.controller.
Voilà mon controller:
Puis, mon EventListener:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class WelcomeController extends AbstractController { #[Route('/', name: 'homepage')] public function welcome(): Response { return $this->render('welcome/welcome_app.html.twig'); } #[Route('/show/list-fruits', name: 'list_fruits')] public function listFruits(): Response { return $this->render('welcome/show_list_fruits.html.twig'); } #[Route('/show/list-vegetables', name: 'list_vegetables')] public function listVegetables(): Response { return $this->render('welcome/show_list_vegetables.html.twig'); } }
Comment faire pour créer un callable qui appellerait du controller WelcomeController, la méthode listVegetables() s'il vous plaît?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php namespace App\EventListener; use Symfony\Component\HttpKernel\Event\ControllerEvent; class ControllerListener { public function onKernelController(ControllerEvent $event): void { $controller = $event->getController(); // Il faudrait que je modifie un peu cette ligne pour que j'ai un callable qui appellerait listVegetables() //$vegetableCallable = ['App\Controller\WelcomeController', 'listVegetables']; //$event->setController($vegetableCallable); } }
En effet, j'aimerais créer ce callable puis ensuite le setter avec
Je vous remercie par avance,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $event->setController($vegetableCallable);
Partager