ความแตกต่างระหว่างapp / etc / config.xmlและapp / etc / local.xmlคืออะไร
ฉันรู้สึกว่าการกำหนดค่าบางอย่างซ้ำซ้อน ฉันมักจะต้องจัดการกับ w / local.xml ดังนั้นจุดประสงค์ของการมีสิ่งอื่น ๆ ทั้งหมดใน config.xml คืออะไรและใช้เมื่อใด
ความแตกต่างระหว่างapp / etc / config.xmlและapp / etc / local.xmlคืออะไร
ฉันรู้สึกว่าการกำหนดค่าบางอย่างซ้ำซ้อน ฉันมักจะต้องจัดการกับ w / local.xml ดังนั้นจุดประสงค์ของการมีสิ่งอื่น ๆ ทั้งหมดใน config.xml คืออะไรและใช้เมื่อใด
คำตอบ:
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;
}
Magento จะใช้งานได้ถ้าคุณย้ายเนื้อหาของ config.xml ไปที่ local.xml และลบ config.xml ทั้งหมด
การแยกนี้มีอยู่ด้วยเหตุผล
config.xml มีการตั้งค่า (เรียกว่าพวกมัน) ที่ไม่ได้ขึ้นอยู่กับสภาพแวดล้อมที่ติดตั้ง Magento
local.xml มีการตั้งค่าที่ขึ้นอยู่กับสภาพแวดล้อม: การเชื่อมต่อฐานข้อมูล, เอ็นจินแคช, คีย์เข้ารหัส, ตัวจัดการเซสชั่น
วิธีนี้เป็นส่วนหนึ่งของการตั้งค่าสามารถกำหนดรุ่น (config.xml) และคุณมีไฟล์ขนาดเล็กขึ้นอยู่กับสภาพแวดล้อม
core_config_data
มีการแยกวิเคราะห์และรวมอยู่ในหลังจากlocal.xml