2017-05-10 20 views
0

symfonyにはURLパスを受け入れ、その情報(ルート名、ルートパラメータ、アクションメソッドなど)を返すメソッドUrlMatcherInterface::match($pathinfo)があります。したがって、私がこのメソッドを$matcher->match('/help')と呼ぶと、http://example.com/helpというURLに関する情報が得られます。サブドメインを含むURLからルート名を取得

質問:どのように私はサブドメインを含むURLについての情報を得ることができない、例えばhttp://subdomain.example.com/events?このメソッドはホスト名のないパスのみを受け入れ、URLをホスト名で渡そうとするとResourceNotFoundExceptionをスローします。

ありがとうございます。

答えて

0

RequestContext & UrlMatcherを使用して解が見つかりました。

$parsedUrl = parse_url($url); 

$context = new RequestContext(); 
$context->setMethod($method); // e.g. GET 
$context->setScheme($parsedUrl['scheme']); 
$context->setHost($parsedUrl['host']); 

$matcher = new UrlMatcher(
    $this->router->getRouteCollection(), 
    $context 
); 

$routeInfo = $matcher->match($parsedUrl['path']); 
関連する問題