簡體   English   中英

Symfony2 訪問路由變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM