Config
Class สำหรับจัดการกับ Config ของระบบ
\Somtum\Config
ทำหน้าที่ในการจัดการค่าติดตั้งของระบบ โดยมีความสามารถพื้นฐานในการอ่านข้อมูลจากไฟล์ config ซึ่งค่าเริ่มต้นจะอยู่ใน /settings/config.php คลาสนี้จะทำงานแบบ Singleton หรือสามารถมีได้ Instance เดียวเท่านั้น ตลอดทั้งโปรเจ็ค เพื่อจะประกันได้ว่าจะมี config เดียวเท่านั้นอยู่ในระบบ
$cfg = \Somtum\Config::create();
การสร้าง Instance ของ Config ใช้คำสั่ง create() เท่านั้น ไม่สามารถใช้ new ได้ และหากพยายามที่จะสร้าง Instance ใหม่ด้วยคำสั่ง new จะเกิดข้อผิดพลาดขึ้น เมื่อเราสั่ง create คลาสจะไปทำการโหลด config จากไฟล์ /settings/config.php มาให้โดยอัตโนมัติ
<?php
/* config.php */
return array(
// template ที่กำลังใช้งานอยู่
'skin' => 'default',
// title, description
'web_title' => 'Somtum',
'web_description' => 'PHP Micro Framework',
);
ด้านบนคือรูปแบบของไฟล์ /settings/config.php ซึ่งหากเราต้องการที่โหลดไฟล์ config ใหม่ หรือต้องการเปลี่ยนไฟล์ config สามารถทำได้โดยใช้คำสั่ง load
$cfg = \Somtum\Config::load('/path/to/config.php');
หรือหากต้องการบันทึกค่าติดตั้งลงไฟล์ สามารถทำได้ด้วยคำสั่ง save
\Somtum\Config::save($cfg, '/path/to/config.php');
หมายเหตุ ไฟล์ค่าติดตั้งเริ่มต้น สามารถมีได้หลายไฟล์ตามโครงสร้างของระบบ โดยจะมีข้อกำหนดดังนี้
- ขั้นตอนแรกจะโหลดไฟล์จาก ROOT_PATH.'settings/config.php' ก่อน
- และหาก APP_PATH ไม่ตรงกันกับ ROOT_PATH (เช่นเรียกจากไดเร็คทอรี่ admin/) จะโหลดไฟล์จาก ROOT_PATH.'settings/config.php' เพิ่มเติม