我有一个像这样的控制器动作:
/**
* @Route("/post/delete/{id}", name="delete_post_modal")
*/
public function deleteAction(Post $post)
{
// ...
}
注释@Route
告诉symfony在路由匹配deleteAction
时执行方法delete_post_modal
。
所有这一切都很好。
问题:有没有办法扭转此功能并从方法名称获取路由名称?
从上面的例子中可以看出:
PostController::deleteAction()
(或self::deleteAction
)delete_post_modal
谢谢!
答案 0 :(得分:3)
试试这个
<强>更新强>
$router = $this->container->get('router');
foreach ($router->getRouteCollection()->all() as $route => $params)
{
$defaults = $params->getDefaults();
if ( strpos($defaults['_controller'],'PostController::deleteAction') ) {
$myroute = $route;
break;
}
}