<?php
namespace App\Service\EventSubscriber;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpKernel\Event\ResponseEvent;
use Symfony\Component\HttpKernel\KernelEvents;
class RememberPageSubscriber implements EventSubscriberInterface
{
public function __construct(private RequestStack $requestStack){
}
public function onKernelRequest(ResponseEvent $event) : void{
$request = $event->getRequest();
if (!$event->isMainRequest() || $request->isXmlHttpRequest() || $request->getMethod() !== 'GET') {
return;
}
if(str_contains($request->getUri(), 'login')){
return;
}
$this->requestStack->getSession()->set('last_page', $request->getUri());
}
public static function getSubscribedEvents()
{
return[
KernelEvents::RESPONSE=>'onKernelRequest'
];
}
}