config.xml बनाम local.xml


17

बीच क्या अंतर है एप्लिकेशन / etc / config.xml और एप्लिकेशन / etc / local.xml ?

मुझे लगता है कि कुछ विन्यास दोहराए जाते हैं। मुझे हमेशा w / local.xml से निपटना पड़ता है, इसलिए config.xml में उस सभी सामान को रखने और इसका उपयोग करने पर इसका क्या उद्देश्य है?

जवाबों:


15

config.xml और local.xml को एक साथ लोड किया जाता है, साथ में आपके द्वारा रखी गई किसी भी अन्य xml फ़ाइल के साथ app/local। वे अंदर लदे हुए हैंMage_Core_Model_Config::loadBase()

public function loadBase()
    {
        $etcDir = $this->getOptions()->getEtcDir();
        $files = glob($etcDir.DS.'*.xml');
        $this->loadFile(current($files));
        while ($file = next($files)) {
            $merge = clone $this->_prototype;
            $merge->loadFile($file);
            $this->extend($merge);
        }
        if (in_array($etcDir.DS.'local.xml', $files)) {
            $this->_isLocalConfigLoaded = true;
        }
        return $this;
    } 

यदि आप config.xml की सामग्री को local.xml पर ले जाते हैं और पूरी तरह से config.xml को हटाते हैं तो Magento काम करेगी।
यह अलगाव एक कारण से मौजूद है।
config.xml में शामिल हैं (चलो उन्हें कॉल करें) सेटिंग्स जो उस वातावरण पर निर्भर नहीं करती हैं जहां मैगनेटो स्थापित है।
local.xml में पर्यावरण पर निर्भर सेटिंग्स हैं: DB कनेक्शन, कैश इंजन, एन्क्रिप्शन कुंजी, सत्र हैंडलर।
इस तरह से सेटिंग्स का एक हिस्सा संस्करणबद्ध हो सकता है (config.xml) और आपके पास केवल एक छोटी फ़ाइल होती है जो पर्यावरण पर निर्भर करती है।


4
साथ ही अपग्रेड के दौरान config.xml ओवरराइट हो जाएगा और local.xml नहीं होगा। और अंत में local.xml वास्तव में कॉन्फ़िगर पार्सिंग के शुरू और अंत में दो बार लोड होता है। चूँकि यह सब एक config ऑब्जेक्ट में मर्ज किया जाता है, इसलिए आप local.xml में जो कुछ भी डालते हैं वह किसी भी मॉड्यूल में किसी भी अन्य कॉन्फिगर को ओवरराइड करेगा।
पेटर दज़मबाज़ोव

4
@PetarDzhambazov "config parsing के अंत में" पूरी तरह से सही / स्पष्ट नहीं है, क्योंकि इसमें से मानों core_config_dataको पार्स और विलय के बाद local.xml किया जाता है
benmarks
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.