2017-07-15 7 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

関連する問題