2017-07-15 78 views
0

Symfony 3.4。 我有我的控制器註釋:如何訪問當前的佔位符值?

/** 
* 
* @Route("/{prefix}", requirements={"prefix":"daily_task|event"}) 
*/ 
class TaskController extends Controller 

,而想直接從控制器的方法(沒有路由的行動)訪問當前{}前綴值。如何獲得它的價值?

回答

0

最後函數:$ this->獲取( 'request_stack') - > getCurrentRequest() - >獲取( '前綴')

+1

我不明白這是什麼代碼是,但如果它與你的問題有關,你應該編輯問題主體並將其放在那裏。如果是您自己找到的解決方案,請爲其添加一些上下文,並將其標記爲接受的答案。 – stybl

0

的Symfony會自動傳遞您的變量,如果你使用它們作爲函數的參數,這樣:

/** 
* 
* @Route("/{prefix}", requirements={"prefix":"daily_task|event"}) 
*/ 
class TaskController extends Controller { 
    /** 
    * @Route("/{_locale}/some/path", name="_some_route_name") 
    */ 
    public function actualAction($prefix, $_locale) { /* ... */ } 
} 

另外,您可以使用這樣的整體要求:

/** 
* 
* @Route("/{prefix}", requirements={"prefix":"daily_task|event"}) 
*/ 
class TaskController extends Controller { 
    /** 
    * @Route("/{_locale}/some/path", name="_some_route_name") 
    */ 
    public function actualAction(Request $request) { 
    $prefix = $request->get('prefix'); 
    } 
} 
+0

請求和參數注入僅適用於操作方法 - 這是問題所在。 – Audiophile