<?php
// src/EventListener/TicketCheckListener.php
namespace App\EventListener;
use App\Service\TicketGratterService;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class TicketCheckListener implements EventSubscriberInterface
{
private $ticketService;
public function __construct(TicketGratterService $ticketService)
{
$this->ticketService = $ticketService;
}
public function onKernelRequest(RequestEvent $event): void
{
if (!$event->isMainRequest()) {
return;
}
$request = $event->getRequest();
$unscratchedTicket = $this->ticketService->hasUnscratchedTicket();
$request->attributes->set('unscratchedTicket', $unscratchedTicket);
}
public static function getSubscribedEvents(): array
{
return [
KernelEvents::REQUEST => 'onKernelRequest',
];
}
}