2009-04-24 13 views
17

मैं एक नई परियोजना शुरू करते समय हमेशा इस प्रश्न से ट्रिम हूं। जब मैं मेफीस्टो, टाइपो इत्यादि जैसे उदाहरण देखता हूं, तो वे अपनी जड़ को एक नियंत्रक के पास रूट करते हैं जो एक विशिष्ट संसाधन/मॉडल से संबंधित होता है।रूट नियंत्रक का नामकरण

मेरी समस्या यह है कि, मैंने लगभग हर वेबसाइट बनाई है, मुझे लगता है कि मेरा फ्रंट पेज वास्तव में मेरे सभी मॉडलों का सहयोग है, और मैं खुद को एक नियंत्रक को इंगित नहीं कर सकता जो कि एक विशिष्ट से संबंधित है मेरे लैंडिंग पृष्ठ के रूप में।

क्या कोई भी ऐसे नियंत्रक को तैयार करता है जो विशेष रूप से वेबसाइट के सामने के लिए है? या अगर शायद मैं इसे पूरी तरह से गलत देख रहा हूं, तो कृपया मुझे बताएं।

संपादित करें:

यहाँ

है जहाँ मेरा भ्रम मौजूद है: एक नियंत्रक नामित सूचकांक को

rboard's routes नक्शे जड़ ... लेकिन मैं नहीं भी एक सूचकांक नियंत्रक

mephisto's routes उपयोग कुछ custom routing पा सकते हैं चीज, और कोई रूट या नक्शा भी नहीं है।

radiant's routes ऐप के बड़े हिस्से के लिए एक नियंत्रक के पास जाता है, जो तब कुछ पागल जादू करता है

track's routes किसी संसाधन से संबंधित नियंत्रक पर जाएं (यह ऊपर वर्णित एक चीज़ है जो मेरे ऊपर वर्णित है) ... लेकिन मुझे फिट नहीं करता क्योंकि जैसा कि मैंने कहा था, मेरी जड़ें बहुत सी चीजें हैं।

spot us वास्तव में मेरे जैसा कुछ करता है, घर नियंत्रक है जिसमें केवल एक शो क्रिया है, और यह मेरा अगला पृष्ठ है।

+0

मुझे Django और ASP.NET पर भी यह समस्या है। अपने प्रश्न को एक विशिष्ट ढांचे तक सीमित नहीं करते हैं। :)) – AmiNadimi

उत्तर

9

मेरे समस्या, लगभग हर वेबसाइट मैंने कभी का निर्माण किया है है, मैं अपने सामने की तरह महसूस पृष्ठ वास्तव में मेरे सभी मॉडलों का सहयोग है, और मैं को पर एक नियंत्रक को इंगित नहीं कर सकता जो मेरे लैंडिंग पृष्ठ के रूप में विशिष्ट है।

बिल्कुल। तो आप क्या कर रहे हैं सही है।

मैं अक्सर उन चीजों के साथ बातचीत के लिए दो नियंत्रक बना देता हूं जो सामान्य आरईएसटी सामान नहीं हैं: 'स्वागत' और 'डैशबोर्ड'। स्वागत नियंत्रक को मेरी साइट की रूट पर मैप किया गया है, और 'डैशबोर्ड' नियंत्रक समान है, लेकिन उपयोगकर्ताओं में लॉग इन के लिए।

+0

तो आप जो कह रहे हैं वह है कि अधिकांश लोगों का होम पेज अनिवार्य रूप से एक शांतिपूर्ण संसाधन है, जहां यह स्थिति एक विशेष मामले की गारंटी देती है ताकि किसी मॉडल से संबंधित नियंत्रक को मैप न किया जा सके। – phillc

+0

मुझे ज्यादातर लोगों के बारे में पता नहीं है। मेरा आमतौर पर तुम्हारी तरह होता है। वे एक resouce नहीं हैं, वे अलग-अलग लोगों का एक गुच्छा हैं। –

2

सुनिश्चित नहीं है कि यह वह उत्तर है जिसे आप ढूंढ रहे हैं, लेकिन यहां मैं यही करता हूं। मैं आमतौर पर दो नियंत्रक प्रकार, एक फ्रंट नियंत्रक और एक्शन नियंत्रकों के संयोजन का उपयोग करता हूं। फ्रंट कंट्रोलर यूआरएल रूटिंग का ख्याल रखता है और यह निर्धारित करता है कि कौन सी कार्रवाई करना है, जबकि एक्शन कंट्रोलर वास्तविक कार्यक्षमता प्रदान करते हैं। ज़ेंड फ्रेमवर्क क्या करता है यह एक समान दृष्टिकोण है।

ऐसा कहा जा रहा है कि, मैं फ्रंट पेज यातायात सहित फ्रंट कंट्रोलर के माध्यम से सभी ट्रैफिक पाइप करूंगा। मेरे पास आमतौर पर "इंडेक्स कंट्रोलर" नामक एक एक्शन कंट्रोलर होता है जो विविध पेज अनुरोधों को संभालता है, और अक्सर फ्रंट पेज उस श्रेणी के अंतर्गत आता है (साथ ही गोपनीयता नीति पृष्ठों, संपर्क फ़ॉर्म आदि जैसी चीजें)।

यदि कोई पृष्ठ साइट के किसी भी व्यावसायिक डोमेन तर्क से विशेष रूप से संबंधित नहीं है, तो मैं इसे अपने इंडेक्स एक्शन कंट्रोलर के तहत रखना चाहता हूं, हालांकि मैं साइट कार्यक्षमता को यथासंभव सर्वोत्तम रूप से समूहबद्ध करने का प्रयास करता हूं।

5

क्या कोई भी ऐसे नियंत्रक को तैयार करता है जो विशेष रूप से वेबसाइट के सामने के लिए है? या अगर शायद मैं इसे पूरी तरह से गलत देख रहा हूं, तो कृपया मुझे बताएं।

संक्षिप्त उत्तर "हाँ" है।

इसके लायक होने के लिए, मैं आमतौर पर स्पॉट.यूएस के समान दृष्टिकोण लेता हूं और इंडेक्स एक्शन/व्यू के साथ होमकंट्रोलर को परिभाषित करता हूं और बस इसे छोड़ देता हूं।

+1

मैं होमकंट्रोलर के साथ जाता हूं। घर, डिफ़ॉल्ट, साइट सभी मेरे लिए अच्छा लग रहा है। –

0

साइटकंट्रोलर मेरे लिए सबसे अच्छा नाम जैसा प्रतीत होता है।SiteController अपने सबसे महत्वपूर्ण कार्रवाई, सूचकांक में शामिल होंगे, और मेरे SiteController हमेशा के बारे में, संपर्क जैसे अन्य कार्यों में शामिल है, आदि

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