/ नियंत्रक और / नियंत्रकों के बीच अंतर


43

एक सवाल जो मैं युगों से पूछ रहा हूँ, वह किसी भी चीज़ से ज्यादा सैद्धांतिक है।

मैं पूरी तरह से सामान्य Magento मॉड्यूल फ़ाइल संरचना का उपयोग कर एक्सटेंशन विकसित करने में निपुण हूं। हालांकि मैंने देखा है कि जब माज 'एक्सटेंशन' में से कुछ को देख रहा है, तो कुछ में एक / नियंत्रक निर्देशिका है। व्हाट्सएप इन कंट्रोलर्स का उद्देश्य है और सामान्य रूप से / नियंत्रकों के लिए उपयोग किए जाने वाले डिफरेंशियल का अंतर कैसे होता है?

मैं देख सकता हूं कि नामों को अलग तरीके से संरचित किया गया है, इसलिए मैं इकट्ठा कर रहा हूं कि वे एक अलग तरीके से ऑटो-लोड हो रहे हैं, लेकिन क्या उद्देश्य / नियंत्रक वर्ग सेवा करते हैं?

सबको शुक्रीया

जवाबों:


45

अंतर ऑटोलेडिंग में है, जैसा कि आपने उल्लेख किया है। सामान्य फाइलों में जो / कंट्रोलर हैं, वे एब्सट्रैक्ट (या पैरेंट) क्लासेस हैं , जिनसे क्लासेस / कंट्रोलर इनहेरिट करते हैं

Magento का निर्माण / नियंत्रक निर्देशिका से अवगत होने के लिए नहीं किया गया है - यह अधिवेशन की बात है। क्लास के नाम संकेत देते हैं कि डिस्क पर इन माता-पिता को कहां ढूंढना है और ऑटोलैडर उन्हें ढूंढता है। आप इसे देखेंगे Mage_Sales:

class Mage_Sales_OrderController extends Mage_Sales_Controller_Abstract

यहां, बिक्री मॉड्यूल भीतर नियंत्रकों का पता लगाता है app/code/core/Mage/Sales/controllersऔर लोड नियंत्रक नियंत्रक को ऑटोलैडर से यह पता लगाने के लिए कहता है कि यह माता-पिता है app/code/core/Mage/Sales/Controller

यह चिंताओं की जुदाई प्रदान करने और सामान्य कार्यक्षमता के लिए ठोस नियंत्रक वर्गों को अनुमति देने के लिए किया जाता है।


यह पूरी तरह से समझ में आता है, और, अब आप इसे समझाया है, वास्तव में बहुत स्पष्ट लगता है! धन्यवाद फिल!
thebluefox
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.