私はSymfony2で新しく、私は自分のホスト名のTLDで言語を選択したいと考えています。 (適切な方法で)TLD用Symfony2言語
私はすでにフォームで言語を変更するには、いくつかの方法を見つける:http://symfony.com/blog/play-with-the-user-language
しかし、私は、新しいユーザーをと接続するときの言語を選択できるようにする必要があります。
- www.hostname.fr => FR
- www.hostname.it =>それ
- www.hostname.co.uk =>
services:
kernel.listener.domain_langue_listener:
class: acme\DemoBundle\Listener\DomainLangueListener
tags:
- { name: kernel.event_listener, event: kernel.request, method: onDomainParse }
:
namespace acme\DemoBundle\Listener;
class DomainLangueListener
{
public function onDomainParse(Event $event)
{
$request = $event->getRequest();
$session = $request->getSession();
preg_match('/[^.]+$/', $request->getHost(), $match);
$session->setLocale($match[0]);
}
}
このリスナーが動作しますが、私はとTLDの試合を定義するには、いくつかのパラメータを使用したいと思い、今、私は要求ごとにトリガするサービスリスナーを追加するために
これは言語、しかし、リスナーに私はそのようなコンテナにアクセスすることはできません。
$this->container->getParameter('tld_allowed');
私がアクセスする別の方法があるかどうかを知りたいですリスナー内のパラメータへ またはホスト名で言語を選択する別の方法
ありがとうございます。