का उपयोग कर एक एकल नियंत्रक कार्रवाई के लिए कई यूआरएल ढांचा का उपयोग नियमित अभिव्यक्ति का उपयोग करते हुए एक भी नियंत्रक कार्रवाई के लिए कई url प्रतिमानों को परिभाषित करने के symfony2 के साथ संभव है कि है, इसलिए हम कई नियमों को परिभाषित करने की जरूरत नहीं है? अग्रिमsymfony2 नियमित अभिव्यक्ति
उत्तर
धन्यवाद आप आवश्यकताओं के साथ प्लेसहोल्डर मतलब है?
blog:
pattern: /blog/{page}
defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }
requirements:
page: \d+
यहाँ आप एक प्लेसहोल्डर द्वारा परिभाषित कई मार्गों, एक ही नियंत्रक कार्रवाई करने के लिए जा नियमित अभिव्यक्ति द्वारा मान्य है।
संपादित करें:
यूआरएल के प्रत्येक भाग एक प्लेसहोल्डर हो सकता है।
blog:
pattern: /{type}/{page}
defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }
requirements:
type: blog|articles
page: \d+
एनोटेशन का उपयोग करते समय, आप कई मार्गों को परिभाषित कर सकते हैं। कि जैसा:
/**
* @Route ("item1")
* @Route ("item/2")
* @Method("GET")
*/
public function itemAction() {
}
मैं मार्गों के लिए संस्करण का उपयोग कर रहा 2.0.9
यह वास्तव में दिलचस्प है, मैं संबंधित मार्ग सिर्फ एक _Action_ से पहले परिभाषित करने का विचार पसंद है, लेकिन मैं अपने सभी नियंत्रकों – svassr
में मेरी रूटिंग नियम प्रसार आप शायद है के रूप में के बजाय केवल एक _routing.yml_ में सब कुछ रखना चाहते हैं ऐप/कंसोल खोलें, राउटर को न भूलें: अपने सभी मार्गों को देखने के लिए डीबग कमांड करें। यदि आप एनोटेशन का उपयोग करते हैं, तो आपको डिफ़ॉल्ट रूप से अपने मार्गों के लिए समझदार नाम मिलेंगे, इसलिए यह वास्तव में नियंत्रक को ढूंढना काफी आसान है। – cvaldemar
जब आप एकाधिक बंडलों का उपयोग करते हैं तो सभी मार्गों को एक फ़ाइल में रखना संभव नहीं है (जब आप रूट को मुख्य ऐप 'रूटिंग.मिल' में संसाधन के रूप में शामिल करते हैं), तो यह वास्तव में रूटिंग के लिए तर्क नहीं है। एनोटेशन का उपयोग करना आसान है, आसान डीबग करने योग्य ('राउटर: डीबग') और कॉन्फ़िगर करने योग्य (उदाहरण के लिए आप अपना नाम सेट कर सकते हैं: '@ रूट ("/", name =" मुखपृष्ठ ")')। – Wirone
एनोटेशन उदाहरण पैरामीटर के साथ:
{{ path('shops_town') }}
:
/**
* @Route("/shops/{page}", name="shops")
* @Route("/shops/town/{town}/{page}", name="shops_town")
* @Route("/shops/department/{department}/{page}", name="shops_department")
*/
public function shopsAction(Town $town = null, Department $department = null, $page = 1)
{ ... }
तो इस तरह टहनी में रूट तैयार
या
{{ path('shops_town', {'town': town.id}) }}
या
{{ path('shops_department', {'department': department.id}) }}
- 1. नियमित अभिव्यक्ति?
- 2. नियमित अभिव्यक्ति
- 3. नियमित अभिव्यक्ति
- 4. नियमित अभिव्यक्ति
- 5. नियमित अभिव्यक्ति
- 6. नियमित अभिव्यक्ति?
- 7. नियमित अभिव्यक्ति
- 8. नियमित अभिव्यक्ति:
- 9. नियमित अभिव्यक्ति
- 10. नियमित अभिव्यक्ति?
- 11. नियमित अभिव्यक्ति
- 12. नियमित अभिव्यक्ति
- 13. नियमित अभिव्यक्ति
- 14. नियमित अभिव्यक्ति
- 15. नियमित अभिव्यक्ति
- 16. नियमित अभिव्यक्ति "शामिल है" एक और नियमित अभिव्यक्ति
- 17. नियमित अभिव्यक्ति जावा
- 18. नियमित अभिव्यक्ति खोज/मिलान
- 19. अनैतिक नियमित अभिव्यक्ति
- 20. आर नियमित अभिव्यक्ति Lookbehind
- 21. जावा नियमित अभिव्यक्ति?
- 22. नियमित अभिव्यक्ति लोअरकेस
- 23. नियमित अभिव्यक्ति सत्यापनकर्ता \ w
- 24. एसक्यूएल सर्वर नियमित अभिव्यक्ति
- 25. नियमित अभिव्यक्ति कार्यान्वयन विवरण
- 26. सी ++ एक नियमित अभिव्यक्ति
- 27. नियमित अभिव्यक्ति प्रतिस्थापन
- 28. नियमित अभिव्यक्ति कंपाइलर
- 29. मेरे नियमित अभिव्यक्ति ग्रेप
- 30. नियमित अभिव्यक्ति नकारात्मक मिलान
@svassr जवाब – ilanco
अद्यतन क्या हुआ अगर मैं प्रकार omittable करना चाहते हैं? उदाहरण के लिए आप: '/ पद/खेल/2',' पद/खेल', 'पद/2' के लिए मार्ग कैसे परिभाषित करेंगे। तो सामान्य मार्ग है: '/ पद/{श्रेणी}/{पृष्ठ}', लेकिन - जाहिर है - यह केवल डिफ़ॉल्ट मानों के साथ काम नहीं करता है। क्या सिमफनी को यह बताने का कोई तरीका है कि दूसरा पैरा स्ट्रिंग/int है या नहीं? –