Odpowiedzi:
config.xml i local.xml są ładowane razem, wraz z każdym innym plikiem xml, w którym się umieszczasz app/local
. Są załadowaneMage_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 będzie działać, jeśli przeniesiesz zawartość config.xml do local.xml i usuniesz całkowicie config.xml.
Ta separacja istnieje z jakiegoś powodu.
config.xml zawiera (nazwijmy je) ustawienia, które nie zależą od środowiska, w którym zainstalowany jest Magento.
local.xml zawiera ustawienia zależne od środowiska: połączenie DB, silnik pamięci podręcznej, klucz szyfrowania, moduł obsługi sesji.
W ten sposób część ustawień może być wersjonowana (config.xml) i masz tylko mały plik w zależności od środowiska.
core_config_data
są analizowane i scalane po local.xml .