Example #1
0
 public function onRequest(GetResponseEvent $event)
 {
     $request = $event->getRequest();
     /*
      * Check URL _locale
      *  default to -> Session _locale
      *  default to -> browser locale
      *  default to -> translation.defaultLocale
      */
     $locales = [$request->attributes->get(RouteAttribute::LOCALE, null), $request->getSession()->get(RouteAttribute::LOCALE, null), $request->getLocale()];
     $locale = $this->defaultLocale;
     foreach ($locales as $item) {
         if (in_array($item, $this->availableLocales)) {
             $locale = $item;
             break;
         }
     }
     if ($this->config->get('tranalstion.persistInSession', false) === true) {
         $request->getSession()->set(RouteAttribute::LOCALE, $locale);
     }
     $request->attributes->set(RouteAttribute::LOCALE, $locale);
     $event->getContainer()->setScalar(RouteAttribute::LOCALE, $locale);
 }
 public function __construct(Request $request, Container $container, \Exception $exception)
 {
     parent::__construct($request, $container);
     $this->exception = $exception;
 }
 public function __construct(Request $request, Container $container, $controllerResponse)
 {
     parent::__construct($request, $container);
     $this->controllerResponse = $controllerResponse;
 }
 public function __construct(Response $response, Request $request, Container $container)
 {
     parent::__construct($request, $container);
     $this->response = $response;
 }