จากตอนที่แล้ว ความคืบหน้า PHP Hoffman Framework (2) ได้ปรับเปลี่ยนการ config จาก ini มาเป็น array ใน php แทนแล้ว ได้ทำการปรับ routing จากตั้งใน xml มาเป็น array ใน php เช่นกัน ทำให้ลดเวลาในการ parse ข้อมูลได้
เป็นแบบนี้ครับ
$Rounting['keywords'] = array(
':controller' => '[a-zA-Z][a-zA-Z0-9_\-]*', // Default
':action' => '[a-zA-Z][a-zA-Z0-9_\-]*' // Default
);
$Rounting['map'] = array(
'login' => 'user/login',
'userdetail' => 'user/detail',
':controller/:action' => null // Default
);
เหตุผลต่อมาในการทำแบบนี้เพราะ เราสามารถนำไปทำ cache ได้ง่ายขึ้นด้วยครับ
หลาย ๆ คนถามมาว่าทำไมเปลียนแปลงส่วน config ใหม่ ทั้ง ๆ ที่น่าจะดีอยู่แล้ว เหตุผลง่าย ๆ ก็คือลดการประมวลผลที่ไม่จำเป็นในการประมวลผลส่วนการตั้งค่าระบบไปซะ อีกอย่าง array ใน php ก็ทำความเข้าใจไม่ยากนัก ทำให้การปรับมาใช้ไม่ทำให้สวยความง่ายลงไปครับ
อาจจะทำ tools สำหรับ generate ตัว routing ด้วยก็ไม่ยากนักครับ