2013-07-05 4 views
5
$controller->forward(...) 

에는 MyBundle:Controller:action 문자열이 필요하지만 경로 이름 만 있습니다.경로 이름에 요청을 전달하는 방법

경로 이름에 요청을 전달하는 방법은 무엇입니까?

+0

željko, 나는 조쉬의 답변을 받아 들여야한다고 생각합니다. 귀하가 물어 본 것과 정확히 일치하는 것 같습니다. 당신과 똑같은 문제가 있었는데 해결했습니다. – userfuser

답변

7

이 질문은 오래뿐만 문서를 위해서 여기 밖에 모든 Google 직원

리디렉션 그 일을하는 한 가지 방법입니다.

class Mycontroller extends Controller { 
    public function indexAction(){ 
     $response = $this->forward($this->routeToControllerName('ROUTE_NAME_HERE')); 
    } 

    private function routeToControllerName($routename) { 
    $routes = $this->get('router')->getRouteCollection(); 
    return $routes->get($routename)->getDefaults()['_controller']; 
    } 

} 
+0

고마워, 나는 이것을 위해 아주 넓게보고 있었다! – userfuser

+0

오타가 있습니다 : 매개 변수의 이름은'routname'이지만'routename'을 얻고 싶습니다. – TheFrozenOne

+1

@Doodlebunch 감사합니다. 답변을 업데이트했습니다. – Josh

관련 문제