Symfony2访问路由变量

时间:2012-07-31 09:44:54

标签: php symfony routing

我知道我可以通过$request->get('_route');访问当前路线名称。

如果我的路线以这种方式定义:

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

如何从服务中检索id变量?

3 个答案:

答案 0 :(得分:11)

您可以从Request

获取所有与路线相关的参数
$routeParams = $request->attributes->get('_route_params');
$id = $routeParams['id'];

答案 1 :(得分:5)

$request->attributes->get('id')可以解决问题。

答案 2 :(得分:3)

你可以做到

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

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