[英]Symfony2 Accessing route variables
我知道我可以通過$request->get('_route');
訪問當前路由名稱$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}
多個參數like/{id}/that.{format}
我只是在函數中添加了第二個參數: function functionName(int $id, string $format)
,它們都在作用域內。 實際上,我的functionName
是用作路由控制器的類中的__invoke
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.