2012-07-31 16 views
5

So che è possibile accedere al nome del percorso corrente tramite $request->get('_route');.Symfony2 Accesso alle variabili di percorso

Se il mio percorso è definito in questo modo:

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

Come posso recuperare la variabile id dall'interno del servizio?

risposta

5

$request->attributes->get('id') fa il trucco.

3

Si può fare

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

La variabile $id sarà disponibile all'interno del controller.

+0

Ciò è corretto, presupponendo che voglio accedervi dal controller. Ho modificato la domanda: volevo accedervi dal servizio. – acid

8

È possibile ottenere tutte itinerario parametri relativi dal Request

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

Mentre non funzionava - '$ request-> attributes-> all()' non restituiva '_route_params', suggeriva la soluzione. Grazie! – acid

Problemi correlati