src/EventSubscriber/RequestSubscriber.php line 28

Open in your IDE?
  1. <?php
  2. #Redirecting to the Last Accessed Page with TargetPathTrait
  3. namespace App\EventSubscriber;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  6. use Symfony\Component\HttpKernel\Event\RequestEvent;
  7. use Symfony\Component\HttpKernel\KernelEvents;
  8. use Symfony\Component\Security\Http\Util\TargetPathTrait;
  9. class RequestSubscriber implements \Symfony\Component\EventDispatcher\EventSubscriberInterface
  10. {
  11.     use TargetPathTrait;
  12.     private $session;
  13.     public function __construct(SessionInterface $session)
  14.     {
  15.         $this->session $session;
  16.     }
  17.     public function onKernelRequest(RequestEvent $event): void
  18.     {
  19.         $request $event->getRequest();
  20.         if (
  21.             !$event->isMasterRequest()
  22.             || $request->isXmlHttpRequest()
  23.             || 'app_login' === $request->attributes->get('_route')
  24.         ) {
  25.             return;
  26.         }
  27.         $this->saveTargetPath($this->session'main'$request->getUri());
  28.     }
  29.     public static function getSubscribedEvents(): array
  30.     {
  31.         return [
  32.             KernelEvents::REQUEST => ['onKernelRequest']
  33.         ];
  34.     }
  35. }