Initializes the locale based on the current request.
@author Fabien Potencier <fabien@symfony.com>
Expanded class hierarchy of LocaleListener
class LocaleListener implements EventSubscriberInterface {
private $router;
private $defaultLocale;
public function __construct($defaultLocale = 'en', RequestContextAwareInterface $router = null) {
$this->defaultLocale = $defaultLocale;
$this->router = $router;
}
public function onKernelRequest(GetResponseEvent $event) {
$request = $event
->getRequest();
$request
->setDefaultLocale($this->defaultLocale);
if ($locale = $request->attributes
->get('_locale')) {
$request
->setLocale($locale);
}
if (null !== $this->router) {
$this->router
->getContext()
->setParameter('_locale', $request
->getLocale());
}
}
public static function getSubscribedEvents() {
return array(
// must be registered after the Router to have access to the _locale
KernelEvents::REQUEST => array(
array(
'onKernelRequest',
16,
),
),
);
}
}
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
LocaleListener:: |
private | property | ||
LocaleListener:: |
private | property | ||
LocaleListener:: |
public static | function |
Returns an array of event names this subscriber wants to listen to. Overrides EventSubscriberInterface:: |
|
LocaleListener:: |
public | function | ||
LocaleListener:: |
public | function |