src/EventSubscriber/ListenerSuscriberSubscriber.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Symfony\Component\HttpFoundation\Session\Session;
  5. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  6. use Symfony\Component\HttpKernel\Event\RequestEvent;
  7. class ListenerSuscriberSubscriber implements EventSubscriberInterface
  8. {
  9.     private $sesssion;
  10.     public function __construct(SessionInterface $session)
  11.     {
  12.         $this->sesssion=$session;
  13.     }
  14.     public function onKernelRequest(RequestEvent $event)
  15.     {
  16.         $idiomas=array('es''us''de''fr''it''ru''nl');
  17.         $this->sesssion->set('idiomas',$idiomas);
  18.         if($idiom=$event->getRequest()->get('idioma')){
  19.             $this->sesssion->set('idiom',($idiom=='us')?'en':$idiom);
  20.         }elseif(!$this->sesssion->get('idiom')){
  21.             $this->sesssion->set('idiom','es');
  22.         }
  23.         /*
  24.          echo '<pre>';
  25.         print_r($event->getRequest()->get('idioma'));Exit;
  26.          */
  27.     }
  28.     public static function getSubscribedEvents()
  29.     {
  30.         return [
  31.             'kernel.request' => 'onKernelRequest',
  32.         ];
  33.     }
  34. }