Symfony 3.4。 我有我的控制器的注释:
/**
*
* @Route("/{prefix}", requirements={"prefix":"daily_task|event"})
*/
class TaskController extends Controller
并希望直接从控制器的方法(不是路由的操作)访问当前的{prefix}值。如何获得它的价值?
答案 0 :(得分:1)
最后:$ this-> get('request_stack') - > getCurrentRequest() - > get('prefix')
答案 1 :(得分: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');
}
}