src/EventListener/TicketCheckListener.php line 19

Open in your IDE?
  1. <?php
  2. // src/EventListener/TicketCheckListener.php
  3. namespace App\EventListener;
  4. use App\Service\TicketGratterService;
  5. use Symfony\Component\HttpKernel\Event\RequestEvent;
  6. use Symfony\Component\HttpKernel\KernelEvents;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. class TicketCheckListener implements EventSubscriberInterface
  9. {
  10.     private $ticketService;
  11.     public function __construct(TicketGratterService $ticketService)
  12.     {
  13.         $this->ticketService $ticketService;
  14.     }
  15.     public function onKernelRequest(RequestEvent $event): void
  16.     {
  17.         if (!$event->isMainRequest()) {
  18.             return;
  19.         }
  20.         $request $event->getRequest();
  21.         $unscratchedTicket $this->ticketService->hasUnscratchedTicket();
  22.         $request->attributes->set('unscratchedTicket'$unscratchedTicket);
  23.     }
  24.     public static function getSubscribedEvents(): array
  25.     {
  26.         return [
  27.             KernelEvents::REQUEST => 'onKernelRequest',
  28.         ];
  29.     }
  30. }