class TranslatorListener in Zircon Profile 8.0
Same name and namespace in other branches
- 8 vendor/symfony/http-kernel/EventListener/TranslatorListener.php \Symfony\Component\HttpKernel\EventListener\TranslatorListener
Synchronizes the locale between the request and the translator.
@author Fabien Potencier <fabien@symfony.com>
Hierarchy
- class \Symfony\Component\HttpKernel\EventListener\TranslatorListener implements EventSubscriberInterface
Expanded class hierarchy of TranslatorListener
1 file declares its use of TranslatorListener
- TranslatorListenerTest.php in vendor/
symfony/ http-kernel/ Tests/ EventListener/ TranslatorListenerTest.php
File
- vendor/
symfony/ http-kernel/ EventListener/ TranslatorListener.php, line 27
Namespace
Symfony\Component\HttpKernel\EventListenerView source
class TranslatorListener implements EventSubscriberInterface {
private $translator;
private $requestStack;
public function __construct(TranslatorInterface $translator, RequestStack $requestStack) {
$this->translator = $translator;
$this->requestStack = $requestStack;
}
public function onKernelRequest(GetResponseEvent $event) {
$this
->setLocale($event
->getRequest());
}
public function onKernelFinishRequest(FinishRequestEvent $event) {
if (null === ($parentRequest = $this->requestStack
->getParentRequest())) {
return;
}
$this
->setLocale($parentRequest);
}
public static function getSubscribedEvents() {
return array(
// must be registered after the Locale listener
KernelEvents::REQUEST => array(
array(
'onKernelRequest',
10,
),
),
KernelEvents::FINISH_REQUEST => array(
array(
'onKernelFinishRequest',
0,
),
),
);
}
private function setLocale(Request $request) {
try {
$this->translator
->setLocale($request
->getLocale());
} catch (\InvalidArgumentException $e) {
$this->translator
->setLocale($request
->getDefaultLocale());
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
TranslatorListener:: |
private | property | ||
TranslatorListener:: |
private | property | ||
TranslatorListener:: |
public static | function |
Returns an array of event names this subscriber wants to listen to. Overrides EventSubscriberInterface:: |
|
TranslatorListener:: |
public | function | ||
TranslatorListener:: |
public | function | ||
TranslatorListener:: |
private | function | ||
TranslatorListener:: |
public | function |