我知道我可以通过$request->get('_route');
访问当前路由名称。Symfony2访问路由变量
如果我的路线定义是这样的:
/*
* @Route("/get_by_category/{id}", defaults={"id" = 0}, name="get_products_by_category")
*/
如何从服务中检索id
变量?
我知道我可以通过$request->get('_route');
访问当前路由名称。Symfony2访问路由变量
如果我的路线定义是这样的:
/*
* @Route("/get_by_category/{id}", defaults={"id" = 0}, name="get_products_by_category")
*/
如何从服务中检索id
变量?
$request->attributes->get('id')
的伎俩。
你可以做
/*
* @Route("/get_by_category/{id}", defaults={"id" = 0}, name="get_products_by_category")
*/
public function getProductsAction($id)
{
}
的$id
变量是在控制器内可用。
你可以得到所有的路由相关的参数从Request
$routeParams = $request->attributes->get('_route_params');
$id = $routeParams['id'];
虽然它不起作用 - '$ request-> attributes-> all()'没有返回'_route_params',但它确实提供了解决方案。谢谢! – acid 2012-07-31 10:09:36
这是正确的,假设我想从控制器访问它。我编辑了这个问题 - 我想从服务中访问它。 – acid 2012-07-31 10:07:07