Skip to content

Instantly share code, notes, and snippets.

@jenkoian
Created February 3, 2016 09:56
Show Gist options
  • Save jenkoian/f79c6984eba54271d7b4 to your computer and use it in GitHub Desktop.
Save jenkoian/f79c6984eba54271d7b4 to your computer and use it in GitHub Desktop.
Legacy escape route LanguageListener.php
<?php
namespace Acme\Listener;
use Acme\Language\LanguageInterface;
use Acme\Language\LanguageSessionInterface;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
final class LanguageListener
{
/**
* @var LanguageInterface
*/
private $language;
/**
* @var LanguageSessionInterface
*/
private $languageSession;
/**
* LanguageListener constructor.
* @param LanguageInterface $language
* @param LanguageSessionInterface $languageSession
*/
public function __construct(LanguageInterface $language, LanguageSessionInterface $languageSession)
{
$this->language = $language;
$this->languageSession = $languageSession;
}
/**
* @param GetResponseEvent $event
*/
public function onKernelRequest(GetResponseEvent $event)
{
$language = $this->language->requestedUrlLanguage($this->languageSession->getLanguage())
->getLanguage();
$request = $event->getRequest();
$request->setLocale($language);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment