我知道我可以通过$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
用作路由控制器的类中的一个。