2016-04-15 15 views
0

からのルートは、私はこのようなコントローラのアクションを持っている:取得symfonyのコントローラのアクション注釈

/** 
* @Route("/post/delete/{id}", name="delete_post_modal") 
*/ 
public function deleteAction(Post $post) 
{ 
    // ... 
} 

注釈@Routeはルートがdelete_post_modalが一致したときの方法deleteActionを実行するためにsymfonyに伝えます。 これはすべて正常に動作します。

質問:この機能を元に戻し、メソッド名からルート名を取得する方法はありますか?上記の例から

  • 私が持っている:PostController::deleteAction()(またはself::deleteAction
  • は私が取得する必要があります。delete_post_modal

感謝!

+0

を試してみてください。 –

+1

route_nameとurl:router:matchが一致するコンソールコマンドがあります。 [link](http://johnkary.net/blog/useful-commands-for-efficient-symfony2-development/) –

答えて

2

は、私は内部的にsymfonyを使用し、私はあなたがパス情報を取得するために使用できるクラスという名前のリクエストがあると思いlaravelユーザーだこの

更新

$router = $this->container->get('router'); 

foreach ($router->getRouteCollection()->all() as $route => $params) 
{ 
    $defaults = $params->getDefaults(); 

    if (strpos($defaults['_controller'],'PostController::deleteAction')) { 
     $myroute = $route; 
     break; 
    } 
} 
+0

これは**現在**リクエストのルートを取得するためにはうまくいくが、もっと一般的な方法が必要一般的にコントローラとメソッド名を知ってルート名を生成する。 – Karolis

+0

私のコードを更新しました – ghazi2008

関連する問題