src/EventSubscriber/RequestSubscriber.php line 15

Open in your IDE?
  1. <?php
  2. // src/EventSubscriber/RequestSubscriber.php
  3. namespace App\EventSubscriber;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use Symfony\Component\HttpKernel\Event\RequestEvent;
  6. use Symfony\Component\HttpKernel\KernelEvents;
  7. use Symfony\Component\Security\Http\Util\TargetPathTrait;
  8. class RequestSubscriber implements EventSubscriberInterface
  9. {
  10.     use TargetPathTrait;
  11.     public function onKernelRequest(RequestEvent $event): void
  12.     {               
  13.         $request $event->getRequest();
  14.         
  15.         if (
  16.             !$event->isMainRequest()
  17.             || $request->isXmlHttpRequest()
  18.             || 'app_login' === $request->attributes->get('_route')
  19.         ) {
  20.             return;
  21.         }
  22.         $this->saveTargetPath($request->getSession(), 'main'$request->getUri());
  23.     }
  24.     public static function getSubscribedEvents(): array
  25.     {
  26.         return [
  27.             KernelEvents::REQUEST => ['onKernelRequest']
  28.         ];
  29.     }
  30. }