src/EventListener/RouterListener.php line 10

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Symfony\Component\HttpKernel\Event\RequestEvent;
  5. use Symfony\Component\HttpKernel\KernelEvents;
  6. class RouterListener implements EventSubscriberInterface
  7. {
  8.     public function onGoToHome(RequestEvent $event): void
  9.     {
  10.         $request $event->getRequest();
  11.         $parameters = (array) $request->attributes;
  12.         if('front_index_page' == $request->attributes->get('_route')) {
  13.             $routeparams $request->attributes->get('_route_params');
  14.             $parameters['slug'] = $routeparams['slug'] == 'accueil' && $routeparams['_locale'] == 'de''home'$routeparams['slug'];
  15.         }
  16.         $request->attributes->add($parameters);
  17.         unset($parameters['_route'], $parameters['_controller']);
  18.         $request->attributes->set('_route_params'$parameters);
  19.     }
  20.     /**
  21.      * @return mixed
  22.      */
  23.     public static function getSubscribedEvents()
  24.     {
  25.         return [
  26.             KernelEvents::REQUEST => [['onGoToHome'20]],
  27.         ];
  28.     }
  29. }