[6.4][EventListener] Setter un controller pour tester l'event kernel.controller
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:
Code:
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');
}
} |
Puis, mon EventListener:
Code:
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);
}
} |
Comment faire pour créer un callable qui appellerait du controller WelcomeController, la méthode listVegetables() s'il vous plaît?
En effet, j'aimerais créer ce callable puis ensuite le setter avec
Code:
1 2
|
$event->setController($vegetableCallable); |
Je vous remercie par avance,