Magento 2: वर्चुअल टाइप नामकरण कन्वेंशन


10

दिनांक: 1 जून, 2015 (मैजेंटो 2 के बदलते स्वरूप को देखते हुए)

Magento 2 में, आप एक "वर्चुअल प्रकार" को एक मॉड्यूल की di.xmlकॉन्फ़िगरेशन फ़ाइल में कॉन्फ़िगर कर सकते हैं। ये आभासी प्रकार आपको एक विशिष्ट इंजेक्शन निर्भरता के तर्कों को बदलने की अनुमति देते हैं।

कोर Magento 2 कोड में, आभासी प्रकारों के लिए दो नामकरण परंपराएं दिखाई देती हैं। पहले में, एक आभासी प्रकार का एक नाम होता है जो वास्तविक PHP वर्ग के नाम के समान दिखाई देता है।

#File: app/code/Magento/CatalogRule/etc/di.xml
<virtualType name="Magento\Catalog\Pricing\Price\Pool" ...

दूसरे में, एक सरल, बैकस्लैश-कम स्ट्रिंग का उपयोग किया जाता है

#File: app/code/Magento/CatalogSearch/etc/di.xml
<virtualType name="advancedSearchFilterList" ...

क्या उपरोक्त दो नामकरण सम्मेलनों में कोई व्यावहारिक अंतर है? यानी आपके द्वारा चुने गए नाम का virtualTypeउसके व्यवहार पर कोई प्रभाव पड़ता है, या यह केवल एक विश्व स्तर पर अद्वितीय स्ट्रिंग है जो इस प्रकार की पहचान करता है ताकि आप इसे बाद में उपयोग कर सकें।


Magento2 सीखने वाले डेवलपर्स के लिए यह एक भ्रम है जब वे एक तर्क की जांच करते हैं जिसमें एक वर्ग का नाम होता है, और इसके बजाय यह एक आभासी प्रकार होता है, मुझे लगता है कि अच्छी तरह से यहाँ बताया गया है alanstorm.com/magento_2_object_man_virtual_types
huzefam

जवाबों:


9

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


1
यह 1.5 यो पद होने के नाते, क्या अभी भी कन्वेंशन हैं कि कोई सम्मेलन नहीं है? मुझे आभासी प्रकारों के लिए जो भी चाहिए, उसका उपयोग करना चाहिए, लेकिन आप अभी भी मुझे दूसरे दृष्टिकोण का उपयोग करने के लिए प्रोत्साहित करते हैं? या आपके पास अब तक एक नया मानक है?
मेरियस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.