@@ -1771,13 +1771,18 @@ to execute custom logic::
1771
1771
// src/EventListener/LogoutSubscriber.php
1772
1772
namespace App\EventListener;
1773
1773
1774
- use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
1775
1774
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
1776
1775
use Symfony\Component\HttpFoundation\RedirectResponse;
1776
+ use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
1777
1777
use Symfony\Component\Security\Http\Event\LogoutEvent;
1778
1778
1779
- class LogoutSubscriber extends AbstractController implements EventSubscriberInterface
1779
+ class LogoutSubscriber implements EventSubscriberInterface
1780
1780
{
1781
+ public function __construct(
1782
+ private UrlGeneratorInterface $urlGenerator
1783
+ ) {
1784
+ }
1785
+
1781
1786
public static function getSubscribedEvents(): array
1782
1787
{
1783
1788
return [LogoutEvent::class => 'onLogout'];
@@ -1794,10 +1799,12 @@ to execute custom logic::
1794
1799
// get the current response, if it is already set by another listener
1795
1800
$response = $event->getResponse();
1796
1801
1797
- // configure a custom logout response
1798
- $event->setResponse(
1799
- new RedirectResponse($this->generateUrl('homepage', []), RedirectResponse::HTTP_SEE_OTHER)
1802
+ // configure a custom logout response to the homepage
1803
+ $response = new RedirectResponse(
1804
+ $this->urlGenerator->generate('homepage'),
1805
+ RedirectResponse::HTTP_SEE_OTHER
1800
1806
);
1807
+ $event->setResponse($response);
1801
1808
}
1802
1809
}
1803
1810
0 commit comments