我知道我可以通过$request->get('_route');.
如果我的路线是这样定义的:
/*
* @Route("/get_by_category/{id}", defaults={"id" = 0}, name="get_products_by_category")
*/
如何id从服务中检索变量?
您可以从Request
$routeParams = $request->attributes->get('_route_params');
$id = $routeParams['id'];
$request->attributes->get('id')成功了。
你可以做
/*
* @Route("/get_by_category/{id}", defaults={"id" = 0}, name="get_products_by_category")
*/
public function getProductsAction($id)
{
}
该$id变量将在控制器中可用。
在 Symfony 3.4 中,我刚刚添加function functionName(int $id)并且变量$id已在函数范围内定义。我的路径是something/{id}。对于多个参数like/{id}/that.{format},我只是在函数中添加了第二个参数:function functionName(int $id, string $format),它们都在范围内。事实上,myfunctionName是__invoke用作路由控制器的类中的一个。