Magento के 3 कोड पूल क्यों हैं?


26

Magento के तीन कोड पूल हैं:

  1. समुदाय
  2. कोर
  3. स्थानीय

कोर: इसमें सभी Magento के डिफ़ॉल्ट मॉड्यूल शामिल हैं

समुदाय और स्थानीय: हम अपने कस्टम मॉड्यूल विकास के लिए इन कोड पूल का उपयोग करते हैं।

अब मुझे इस पर संदेह है:

  • Magento हमारे अनुकूलन के लिए दो कोड पूल का उपयोग क्यों करता है?
  • Magento अनुकूलन के लिए एक एकल कोड पूल का उपयोग क्यों नहीं करता है?

क्या कोई इस बारे में समझा सकता है?

जवाबों:


34

ऐप / कोड / कोर - आधार मॉड्यूल के साथ वितरित किए गए और मूल कार्यक्षमता बनाने वाले मॉड्यूल को जोड़ता है।

एप्लिकेशन / कोड / समुदाय - तृतीय-पक्ष द्वारा विकसित किए गए मॉड्यूल जोड़ता है

एप्लिकेशन / कोड / स्थानीय - आपके द्वारा विकसित किए गए कस्टम मॉड्यूल को रखता है, जिसमें Mage कोड ओवरराइड भी शामिल है।

Magento हमारे अनुकूलन के लिए दो कोड पूल का उपयोग क्यों करता है?

Magento वास्तव में तीन कोड पूल का उपयोग करता है। यह स्थानीय पहले, समुदाय दूसरे और मूल तीसरे को लोड करेगा । यह संगठन के उद्देश्यों के लिए तीन का उपयोग करता है और मुद्दों को हल करने में मदद करने के लिए जब दो + 3 पार्टी एक्सटेंशन एक ही चीज को फिर से लिखने की कोशिश कर रहे हैं। उदाहरण में, आपके पास ऐप / कोड / समुदाय में दो एक्सटेंशन हैं जो एक ही मॉडल को फिर से लिखने की कोशिश कर रहे हैं, आप बस ऐप / कोड / स्थानीय में एक्सटेंशन कर सकते हैं और दो एक्सटेंशन लॉजिक को एक साथ मर्ज कर सकते हैं।

Magento अनुकूलन के लिए एकल कोड पूल का उपयोग क्यों नहीं करता है?

यह कुछ कोड संगठन की कोशिश करने के लिए इस तरह से किया गया था। इसके अलावा, जब आपके पास तृतीय पक्ष संघर्ष होता है, तो स्थानीय उन मुद्दों को हल करने में मदद करने के लिए बहुत अच्छा है। स्थानीय भी एक्सटेंशन है कि केवल उस साइट कभी होगा महान है।


1
सिंगल कोड पूल प्रश्न पर अच्छा जवाब। कई तीसरे पक्ष के मॉड्यूल स्थापित करने के बाद आपके द्वारा चलाए जाने वाले सभी संघर्षों को देखते हुए, सभी localहैंगअप की मालिश करने के लिए उस तीसरे कोड पूल का होना बहुत आवश्यक है ।
फासको लैब्स

11

यहाँ छवि विवरण दर्ज करें

core :यह कोड पूल Magento की कोर डेवलपमेंट टीम का है। इसलिए आपको इस कोड पूल में कोई संशोधन नहीं करना चाहिए।

community :यह Magento के सामुदायिक डेवलपर्स (किसी भी डेवलपर जो तृतीय पक्ष एक्सटेंशन विकसित करता है) से संबंधित है। यदि आप कोई तृतीय पक्ष एक्सटेंशन बना रहे हैं, तो आप उसके लिए इस कोड पूल का उपयोग कर सकते हैं।

local :इसका उपयोग तब किया जा सकता है जब आप किसी भी संशोधन (नई कार्यक्षमता / एक्सटेंशन ओवरराइडिंग / कोर कार्यक्षमता संशोधनों आदि को जोड़ना) को विशेष रूप से अपने Magento स्टोर के लिए करना चाहते हैं और इसे समुदाय के साथ साझा नहीं करना चाहते हैं। उसी समय आप कोर और कम्युनिटी कोड पूल में कार्यक्षमता को ओवरराइड कर सकते हैं


5

मैगेंटो कोडपल्स का वर्णन करें

कोर पूल

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

सामुदायिक पूल

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

स्थानीय पूल

यदि आपके पास अपना स्वयं का Magento- आधारित स्टोर है और आप सब कुछ अपने आप बनाना चाहते हैं या आप Magento डेवलपर हैं और तर्क को किसी भी तरह बदलने का एक उद्देश्य है, तो स्थानीय पूल वह स्थान है जहाँ सब कुछ किया जाना चाहिए। यदि आप Magento एक्सटेंशन, ब्लॉक या विधियों को ओवरराइड करना चाहते हैं, तो कोर पूल से आवश्यक फ़ोल्डरों को कॉपी करें और जो कुछ भी आप करने के लिए इच्छुक हैं, उसे करें। कस्टम एक्सटेंशन के लिए समान नियम लागू करें जो विशेष रूप से वेबसाइट के लिए बनाए गए हैं - सभी कोड स्थानीय पूल में होने चाहिए।


4

प्राथमिकताओं को बनाने और प्रतिरूपकता रखने के लिए उपरोक्त सभी को सरल रूप में जोड़ना। आप Mage.php में इसे चेक कर सकते हैं।

के साथ कोड पूल लोड हो रहा है

 $paths[] = BP . DS . 'app' . DS . 'code' . DS . 'local';
 $paths[] = BP . DS . 'app' . DS . 'code' . DS . 'community';
 $paths[] = BP . DS . 'app' . DS . 'code' . DS . 'core';
 $paths[] = BP . DS . 'lib';

SO पहले लोकल कहा जाता है फिर समुदाय और फिर कोर और मैगनेटो को कोई कोर फाइल नहीं मिलेगी, फिर यह उन लिबास फोल्डर पर खोज करेगा जिनमें Zend- फ्रेमवर्क फाइलें शामिल हैं


1

मेरे पास सबसे अच्छा विवरण यह है कि यदि आप अपने एक्सटेंशन को व्यापक दर्शकों के लिए वितरित करने का लक्ष्य रखते हैं उदाहरण के लिए Magento Connect के माध्यम से आप इसे समुदाय में रख सकते हैं।

यह एक अन्य डेवलपर को स्थानीय फ़ोल्डर में एक वर्ग रखकर व्यवहार को ओवरराइड करने की अनुमति देगा।

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