2012-07-31 14 views
5

Wiem, że mogę uzyskać dostęp do aktualnej nazwy trasy przez $request->get('_route');.Symfony2 Dostęp do zmiennych trasy

Jeśli moja trasa jest zdefiniowana w ten sposób:

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

Jak mogę odzyskać zmienną id z poziomu serwisu?

Odpowiedz

5

$request->attributes->get('id') załatwia sprawę.

3

Można zrobić

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

Zmienna $id będzie dostępna w kontrolerze.

+0

To prawda, zakładając, że chcę uzyskać do niego dostęp ze sterownika. Zmieniłem to pytanie - chciałem uzyskać do niego dostęp z usługi. – acid

8

można uzyskać wszystkie parametry związane trasa z Request

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

Chociaż nie działało - '$ request-> attributes-> all()' nie zwracało '_route_params', sugerowało to rozwiązanie. Dzięki! – acid

Powiązane problemy