मैं वर्तमान में मिश्र धातु नामक अपने स्वयं के PHP 5.3 HMVC ढांचे को विकसित करने की प्रक्रिया में हूं । चूंकि मुझे एचएमवीसी में भारी निवेश किया गया है और बेचा गया है, मैंने सोचा कि मैं एक अलग दृष्टिकोण पेश कर सकता हूं, और शायद एचएमवीसी का उपयोग क्यों किया जाए और इससे क्या लाभ होता है, इसका बेहतर विवरण।
HMVC वास्तुकला का उपयोग करने का सबसे बड़ा व्यावहारिक लाभ सामग्री संरचनाओं का "विजेटेशन" है। एक उदाहरण टिप्पणी, रेटिंग, ट्विटर या ब्लॉग आरएसएस फ़ीड प्रदर्शित कर सकता है, या ई-कॉमर्स वेबसाइट के लिए खरीदारी की सामग्री का प्रदर्शन हो सकता है। यह मूल रूप से मुख्य एचटीटीपी अनुरोध के संदर्भ के आधार पर, कई पृष्ठों में प्रदर्शित होने वाली सामग्री का एक टुकड़ा है, और संभवतः विभिन्न स्थानों में भी प्रदर्शित होना चाहिए।
पारंपरिक MVC फ्रेमवर्क आमतौर पर इन प्रकार की सामग्री संरचनाओं के लिए एक सीधा उत्तर नहीं देते हैं, इसलिए लोग आमतौर पर कस्टम हेल्पर्स का उपयोग करके, अपने स्वयं के विजेट संरचनाओं या लाइब्रेरी फ़ाइलों को बनाने, या मुख्य अनुरोध से असंबंधित डेटा में खींचकर दोहराव और स्विच करना समाप्त करते हैं। कंट्रोलर व्यू के माध्यम से पुश करने और एक आंशिक में रेंडर करने के लिए। इनमें से कोई भी विशेष रूप से अच्छा विकल्प नहीं है, क्योंकि किसी विशेष सामग्री को प्रस्तुत करने या आवश्यक डेटा लोड करने की जिम्मेदारी कई क्षेत्रों में लीक हो जाती है और उन स्थानों पर दोहराई जाती है जहां इसका उपयोग किया जाता है।
HMVC, या विशेष रूप से इन जिम्मेदारियों को संभालने के लिए एक नियंत्रक को उप-अनुरोध भेजने की क्षमता स्पष्ट समाधान है। यदि आप सोचते हैं कि आप क्या कर रहे हैं, तो यह नियंत्रक संरचना को बिल्कुल फिट बैठता है। आपको टिप्पणियों के बारे में कुछ डेटा लोड करने और उन्हें HTML प्रारूप में प्रदर्शित करने की आवश्यकता है। तो आप कुछ पैरामेट्स के साथ नियंत्रक के लिए एक अनुरोध भेजते हैं, यह मॉडल के साथ इंटरैक्ट करता है, एक व्यू चुनता है और व्यू कंटेंट प्रदर्शित करता है। फर्क सिर्फ इतना है कि आप इनलाइन प्रदर्शित टिप्पणियों को चाहते हैं, ब्लॉग लेख के नीचे उपयोगकर्ता पूरी तरह से अलग पूर्ण टिप्पणी पृष्ठ के बजाय देख रहा है (हालांकि एचएमवीसी दृष्टिकोण के साथ, आप वास्तव में एक ही नियंत्रक के साथ आंतरिक और बाह्य दोनों अनुरोधों को पूरा कर सकते हैं और "मार सकते हैं" एक पत्थर के साथ दो पक्षी ", जैसा कि कहा जाता है)। इस सम्बन्ध में, HMVC वास्तव में बढ़ी हुई कोड प्रतिरूपता, पुन: प्रयोज्य और चिंताओं के बेहतर पृथक्करण को बनाए रखने के लिए केवल एक प्राकृतिक उपोत्पाद है। यह एचएमवीसी का विक्रय बिंदु है।
तो, जबकि सैम डे फ़्रीसिंसेट के एचएमवीसी के साथ स्केलिंग पर टेकपॉर्टल लेख के बारे में सोचना दिलचस्प है, यह ऐसा नहीं है जहां एचएमवीसी फ्रेमवर्क का उपयोग करने वाले 90% + लोगों को इसके वास्तविक, व्यावहारिक, दिन-प्रतिदिन के लाभ मिलने वाले हैं।