Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2访问路由变量_Php_Symfony_Routing - Fatal编程技术网

Php Symfony2访问路由变量

Php Symfony2访问路由变量,php,symfony,routing,Php,Symfony,Routing,我知道我可以通过$request->get(“u-route”)访问当前路由名称 如果我的路线是这样定义的: /* * @Route("/get_by_category/{id}", defaults={"id" = 0}, name="get_products_by_category") */ 如何从服务中检索id变量?您可以这样做 /* * @Route("/get_by_category/{id}", defaults={"id" = 0}, name="get_products_b

我知道我可以通过
$request->get(“u-route”)访问当前路由名称

如果我的路线是这样定义的:

/*
 * @Route("/get_by_category/{id}", defaults={"id" = 0}, name="get_products_by_category")
 */
如何从服务中检索
id
变量?

您可以这样做

/*
* @Route("/get_by_category/{id}", defaults={"id" = 0}, name="get_products_by_category")
*/
public function getProductsAction($id)
{
}

$id
变量将在控制器内可用。

您可以从
请求中获取所有路线相关参数

$routeParams = $request->attributes->get('_route_params');
$id = $routeParams['id'];

$request->attributes->get('id')
实现了这一点。

假设我想从控制器访问它,这是正确的。我已经编辑了这个问题-我想从服务访问它。虽然它不起作用-
$request->attributes->all()
没有返回
\u route\u params
,但它确实提出了解决方案。谢谢