PATH:
home
/
lab2454c
/
tripvare.com
/
backup
/
vendor
/
symfony
/
http-kernel
/
EventListener
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\EventListener; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpKernel\Event\FinishRequestEvent; use Symfony\Component\HttpKernel\Event\RequestEvent; use Symfony\Component\HttpKernel\KernelEvents; use Symfony\Contracts\Translation\LocaleAwareInterface; /** * Pass the current locale to the provided services. * * @author Pierre Bobiet <pierrebobiet@gmail.com> */ class LocaleAwareListener implements EventSubscriberInterface { private $localeAwareServices; private $requestStack; /** * @param LocaleAwareInterface[] $localeAwareServices */ public function __construct(iterable $localeAwareServices, RequestStack $requestStack) { $this->localeAwareServices = $localeAwareServices; $this->requestStack = $requestStack; } public function onKernelRequest(RequestEvent $event): void { $this->setLocale($event->getRequest()->getLocale(), $event->getRequest()->getDefaultLocale()); } public function onKernelFinishRequest(FinishRequestEvent $event): void { if (null === $parentRequest = $this->requestStack->getParentRequest()) { foreach ($this->localeAwareServices as $service) { $service->setLocale($event->getRequest()->getDefaultLocale()); } return; } $this->setLocale($parentRequest->getLocale(), $parentRequest->getDefaultLocale()); } public static function getSubscribedEvents() { return [ // must be registered after the Locale listener KernelEvents::REQUEST => [['onKernelRequest', 15]], KernelEvents::FINISH_REQUEST => [['onKernelFinishRequest', -15]], ]; } private function setLocale(string $locale, string $defaultLocale): void { foreach ($this->localeAwareServices as $service) { try { $service->setLocale($locale); } catch (\InvalidArgumentException $e) { $service->setLocale($defaultLocale); } } } }
[-] ErrorListener.php
[edit]
[-] TestSessionListener.php
[edit]
[-] DisallowRobotsIndexingListener.php
[edit]
[-] SessionListener.php
[edit]
[-] ProfilerListener.php
[edit]
[-] AddRequestFormatsListener.php
[edit]
[+]
..
[-] AbstractSessionListener.php
[edit]
[-] DumpListener.php
[edit]
[-] SurrogateListener.php
[edit]
[-] LocaleAwareListener.php
[edit]
[-] FragmentListener.php
[edit]
[-] AbstractTestSessionListener.php
[edit]
[-] LocaleListener.php
[edit]
[-] StreamedResponseListener.php
[edit]
[-] DebugHandlersListener.php
[edit]
[-] ValidateRequestListener.php
[edit]
[-] ResponseListener.php
[edit]
[-] RouterListener.php
[edit]