2016-10-19 7 views
6

क्या बहुभाषी रूटिंग सेटअप बनाने के लिए Altorouter का उपयोग करना संभव है? मैं लक्ष्य फ़ाइल के साथ एक चर भेजना चाहता हूं (ताकि यह देखे जाने पर विभिन्न सामग्री प्रदर्शित करता हो), उदा। -Altorouter बहुभाषी रूटिंग

$router->map('GET','/th/work/sample', 'work/sample.php', 'sample', 'th'); 

लेकिन वह पांचवां पैरामीटर उपलब्ध नहीं है। क्या इसके समाधान की कोई युक्ति है?

उत्तर

4

यदि आप अपनी भाषा यूआरएल नियमित रूप से पर्याप्त हैं, तो आप इसे प्राप्त करने के लिए यूआरएल में पैटर्न-मिलान का उपयोग कर सकते हैं।

documentation के अनुसार

, मार्ग

$router->map('GET', '/[:lang]/work/sample', 'work/sample.php', 'sample') 

को परिभाषित करने $lang में 'th' कब्जा होगा जब '/th/work/sample' यूआरएल मारा जाता है। यदि आपको अधिक जटिल पैटर्न मिलान की आवश्यकता है, तो कस्टम regexes भी निर्दिष्ट किया जा सकता है।

2

$router->map('GET','/th/work/sample', 'work/sample.php', 'sample', 'th');

लेकिन वह पांचवें पैरामीटर उपलब्ध नहीं है। क्या इसके समाधान की कोई युक्ति है?

ऐसा इसलिए है क्योंकि मानचित्र फ़ंक्शन केवल पांचवें पैरामीटर का समर्थन नहीं करता है।

public function map($method, $route, $target, $name = null)

source code AltoRouter.php:map

आप मूल मार्ग से गुजर रहा match फ़ंक्शन को कॉल करता है, तो आप किसी भी तरह रोकना और रूटर से पहले काम करने के लिए अपने कोड प्राप्त कर सकते हैं कर सकते हैं। मैच फ़ंक्शन आपको एक रूट नाम देता है। लेकिन इस आप प्रत्येक भाषा के लिए नामित रास्तों बनाने और उसके बाद आप @gbe

$router->map('GET', '/[:lang]/work/sample', 'work/sample.php', 'sample')

द्वारा प्रदान की समाधान की सराहना करते हैं शुरू हो जाएगा मतलब है
संबंधित मुद्दे