2012-07-31 17 views
5

मुझे पता है कि मैं $request->get('_route'); द्वारा वर्तमान मार्ग का नाम एक्सेस कर सकता हूं।Symfony2 मार्ग चर का उपयोग

मेरे मार्ग इस तरह से परिभाषित किया गया है:

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

मैं कैसे सेवा के भीतर से id चर प्राप्त कर सकते हैं?

उत्तर

5

$request->attributes->get('id') से सभी मार्ग से संबंधित मानकों काम कर देता है प्राप्त कर सकते हैं।

3

आप क्या कर सकते हैं

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

$id चर नियंत्रक के भीतर उपलब्ध हो जाएगा।

+0

यह सही है, मान लीजिए कि मैं इसे नियंत्रक से एक्सेस करना चाहता हूं। मैंने सवाल संपादित किया है - मैं इसे सेवा से एक्सेस करना चाहता था। – acid

8

आप Request

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

हालांकि यह काम नहीं करता - '$ अनुरोध-> विशेषताओं-> सभी()' '_route_params' वापस नहीं लौटे, इसने समाधान का सुझाव दिया। धन्यवाद! – acid