2013-01-18 21 views
8

मैं लैरवेल PHP ढांचे का उपयोग कर रहा हूं और कुछ चीजों के बारे में सोच रहा हूं। डिफ़ॉल्ट application/routes.php फ़ाइल इस में शामिल हैं:लार्वेल में डिफ़ॉल्ट नियंत्रक कैसे सेट करें?

Route::get('/', function() 
{ 
    return View::make('home.index'); 
}); 

यह सिर्फ दृश्य आउटपुट, लेकिन मैं वहाँ से एक नियंत्रक कैसे कहते हैं?

मैं ऊपर दिए गए पूरे मार्ग को हटा सकता हूं और Route::controller('home') के साथ इसे प्रतिस्थापित कर सकता हूं जो डिफ़ॉल्ट यूआरएल (यानी example.com/) पर घर नियंत्रक का उपयोग करने लगता है। लेकिन Route::controller('article') जैसे कोई अन्य नियंत्रक काम नहीं करता है, केवल example.com/article पर। मैं आलेख नियंत्रक को डिफ़ॉल्ट के रूप में कैसे सेट करूं?

उत्तर

12

बस वर्ग के नाम और विधि नाम के बीच @ साथ, एक स्ट्रिंग के रूप नियंत्रक पारित:

Route::get('/', '[email protected]'); 

पढ़ें the docs (शीर्षक द्वारा उदाहरण के लिए स्क्रॉल एक मार्ग है कि एक नियंत्रक कार्रवाई के लिए अंक का पंजीयन)।

+0

धन्यवाद, किसी भी तरह से मैंने पृष्ठ के उस हिस्से को याद किया। हालांकि 'घर' चीज़ के बारे में क्या? 'रूट :: प्राप्त करें ('/', 'home @ index')' रूट :: नियंत्रक ('घर') 'जैसा ही है? – DisgruntledGoat

+0

@ डिस्ग्रंटल्डगोएट - नहीं। 'रूट :: प्राप्त करें ('/', 'home @ index') 'केवल इंडेक्स विधि पंजीकृत करेगा, और केवल'/'मार्ग पर। 'रूट :: नियंत्रक ('घर')' अपने सभी तरीकों को पंजीकृत करेगा, जो उनके संबंधित यूआरएल में मैप किया जाएगा। –

+0

उत्तरार्द्ध कैसे काम करेगा? यदि आप एक संपूर्ण नियंत्रक को '/' पर पंजीकृत करते हैं तो घर नियंत्रक पर 'उदाहरण' बनाम 'उदाहरण' विधि नामक नियंत्रक के बीच '/ example' संदिग्ध नहीं होता है। – DisgruntledGoat

2

"/" विशेष स्थान है और आप इसे Route::get('/','[email protected]') के माध्यम से सेट कर सकते हैं।

घर नियंत्रक पर अन्य सभी कार्यों के लिए आप होगा यूआरएल इस तरह के "/home/action1" है या "/home/action2"।

मैं आपको यह समझने की कोशिश कर रहा हूं कि कोई भी लाभ नहीं है और कोई नियंत्रक "/" को असाइन करने की आवश्यकता नहीं है।

मुझे आशा है कि मैं अपने उत्तर से स्पष्ट हूं। फिर यह आपके प्रश्न का एक प्रयास नहीं है, लेकिन यदि आप रूट हैंडलिंग से फंस गए हैं तो आपके लिए एक सुझाव। मैं उसी चरण में था जहां आप कुछ दिन पहले थे :)

+2

यह एक पुरानी पोस्ट है लेकिन यह Google में शीर्ष में से एक है इसलिए मैं उस कारण से टिप्पणी कर रहा हूं। यदि कोई इसे पाता है, तो जब आप रूट :: कंट्रोलर ('/', 'कंट्रोलर') सेट करते हैं तो आप अन्य सभी लिंक तोड़ते हैं, यही कारण है कि नियंत्रक मार्ग के लिए डिफ़ॉल्ट '/' का उपयोग करना अच्छा नहीं है –

संबंधित मुद्दे