Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
1 / 1
LogoutSubscriber
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
3 / 3
3
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getSubscribedEvents
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 onLogout
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace App\EventListener;
4
5use Symfony\Component\Security\Http\Event\LogoutEvent;
6use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
7use Symfony\Component\EventDispatcher\EventSubscriberInterface;
8use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
9
10class LogoutSubscriber extends AbstractController implements EventSubscriberInterface
11{
12    /**
13     * LogoutSubscriber constructor.
14     *
15     * @phpstan-ignore-next-line
16     * @param UrlGeneratorInterface $urlGenerator
17     * @return void
18     */
19    public function __construct(private UrlGeneratorInterface $urlGenerator)
20    {
21    }
22
23    /**
24     * Returns the subscribed events for the LogoutSubscriber class.
25     *
26     * @return array<mixed> The subscribed events.
27     */
28    public static function getSubscribedEvents(): array
29    {
30        return [LogoutEvent::class => 'onLogout'];
31    }
32
33    /**
34     * Handles the logout event.
35     *
36     * @param LogoutEvent $event The logout event.
37     * @return void
38     */
39    public function onLogout(LogoutEvent $event): void
40    {
41        $this->addFlash('success', 'Vous êtes maintenant déconnecté');
42    }
43}