config.xml ve local.xml karşılaştırması


17

App / etc / config.xml ve app / etc / local.xml arasındaki fark nedir ?

Bazı yapılandırmaların çoğaltıldığını hissediyorum. Her zaman w / local.xml ile uğraşmak zorundayım, yani config.xml'deki diğer tüm şeylere sahip olmanın amacı nedir ve ne zaman kullanılır?

Yanıtlar:


15

config.xml ve local.xml, yerleştirdiğiniz diğer xml dosyalarıyla birlikte yüklenir app/local. Onlar yüklendiMage_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;
    } 

Magento, config.xml içeriğini local.xml dosyasına taşır ve tamamen config.xml dosyasını kaldırırsanız çalışır.
Bu ayrım bir nedenden dolayı var.
config.xml, Magento'nun kurulu olduğu ortama bağlı olmayan ayarları (bunları çağıralım) içerir.
local.xml, ortama bağlı ayarlar içerir: DB bağlantısı, önbellek motoru, şifreleme anahtarı, oturum işleyici.
Bu şekilde ayarların bir kısmı sürümlendirilebilir (config.xml) ve ortama bağlı olarak yalnızca küçük bir dosyanız olur.


4
Ayrıca yükseltme sırasında config.xml üzerine yazılır ve local.xml yazılmaz. Ve son olarak local.xml aslında yapılandırma ayrıştırma işleminin başlangıcında ve sonunda iki kez yüklenir. Tümü bir yapılandırma nesnesinde birleştirildiğinden, local.xml dosyasına koyduğunuz her şey, herhangi bir modüldeki diğer yapılandırmaları geçersiz kılar.
Petar Dzhambazov

4
@PetarDzhambazov "yapılandırma ayrıştırma işleminin sonunda" tamamen doğru / net değil, çünkü local.xml'dencore_config_data sonraki değerler ayrıştırılıp birleştiriliyor .
benmarks
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.