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

需要表單中的字符串或MyBundle:Controller:action,但我只有路由名稱。如何將請求轉發到路由名稱

如何將請求轉發到路由名稱?

+0

željko,我想你應該接受Josh'es的回答,因爲它看起來完全符合你的要求。我遇到了和你一樣的問題,並且解決了它。 – 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

相關問題