src/Elements/Bundle/DemiFrontendBundle/EventListener/ControllerEventListener.php line 27

Open in your IDE?
  1. <?php
  2. namespace Elements\Bundle\DemiFrontendBundle\EventListener;
  3. use Elements\Bundle\DemiFrontendBundle\Controller\AbstractDemiController;
  4. use JetBrains\PhpStorm\ArrayShape;
  5. use Symfony\Component\DependencyInjection\ContainerAwareTrait;
  6. use Symfony\Component\DependencyInjection\ContainerInterface;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. use Symfony\Component\HttpKernel\Event\ControllerEvent;
  9. use Symfony\Component\HttpKernel\KernelEvents;
  10. class ControllerEventListener implements EventSubscriberInterface {
  11.     use ContainerAwareTrait;
  12.     public function __construct(ContainerInterface $container)
  13.     {
  14.         $this->container $container;
  15.     }
  16.     #[ArrayShape([KernelEvents::CONTROLLER => "array"])]
  17.     public static function getSubscribedEvents(): array
  18.     {
  19.        return [KernelEvents::CONTROLLER => ['onKernelController'100]];
  20.     }
  21.     public function onKernelController(ControllerEvent $event): void
  22.     {
  23.         $controller $event->getController();
  24.         if($controller instanceof AbstractDemiController) {
  25.             $event->getRequest()->attributes->set('_demi_frontend_request'true);
  26.             //was used for engine setting in controller - not required anymore
  27.         }
  28.     }
  29. }