config.xml và local.xml được tải cùng nhau, cùng với bất kỳ tệp xml nào khác mà bạn đặt app/local
. Chúng được tải vàoMage_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 sẽ hoạt động nếu bạn di chuyển nội dung của config.xml sang local.xml và xóa hoàn toàn config.xml.
Sự tách biệt này tồn tại vì một lý do.
config.xml chứa các cài đặt (hãy gọi chúng) không phụ thuộc vào môi trường nơi Magento được cài đặt.
local.xml chứa các cài đặt phụ thuộc môi trường: kết nối DB, công cụ bộ đệm, khóa mã hóa, trình xử lý phiên.
Bằng cách này, một phần của các cài đặt có thể được phiên bản (config.xml) và bạn chỉ có một tệp nhỏ tùy thuộc vào môi trường.