@FordAntiTrust

สวัสดีปีใหม่ครับ และปีนี้สิ่งใหม่ในการพัฒนาโปรแกรมบน PHP กำลังเกิด (ย้อนหลังนานมาก T_T )

ในช่วงวันปีใหม่ที่ผ่านมา ก็ไม่ได้แตกต่างจากวันอื่น ๆ มากเท่าไหร่ เพราะว่าตัวเองไม่ได้ออกไปเที่ยวไหนเลย ทำงานปั่น PHP Framework อย่างเดียว จริง ๆ โครงการนี้ออกแบบและร่างแนวคิดมาได้สัก 1-2 เดือนแล้ว แต่ว่ากว่าจะลงตัวก็ในช่วงเกือบปีใหม่ และดันงานให้เสร็จในช่วงวันหยุดยาวปีใหม่ โดยเพิ่งจะเอาเข้า SVN ส่วนตัวเมื่อคืนนี้เอง ตอนนี้ขั้นตอนการ Alpha Test อยู่โดยในช่วงนี้การทดสอบระบบนั้นจะนำไปใช้งานจริงกับระบบร้านค้าบนอินเตอร์เน็ต (E-Commerce) โดยนี้คาดว่าจะออก Beta Test ตอนปลายเดือนนี้เป็นอย่างเร็วที่สุด

โดยหลักการของระบบ Framework นี้โดยรวมใช้หลักการ MVC (Model-View-Controller) ซึ่งการพัฒนาในครั้งนี้เข้าใกล้หลักการ MVC เกือบ 90% อาจจะมีบางส่วนที่ไม่เข้าหลักการด้วยเหตุผลด้านข้อจำกัดของภาษา PHP และระยะเวลาในการพัฒนาระบบโดยรวม

โดยระบบโดยรวมนั้นจะใส่ Module ต่าง ๆ เหล่านี้ลงไปนี้ Core ของระบบ ( Core = แกนหลักของระบบโดยรวม) 

โดยด้านบนคือ Core ของระบบ ซึ่งในตอนนี้มี Module อยู่ 7 ตัว และคาดว่าจะมีเพิ่มในอนาคตเพื่อเพิ่มความสามารถ และปรับแก้ข้อผิดพลาดด้วย

ต่อมาในส่วนของ Add-on นั้นเป็นส่วนเพิ่มเติมในระบบทั้งหมด โดยเมื่อต่อการใส่ Add-on ลงใน Framework นั้นต้องมีการเขียนไฟล์ XML ตาม Schema ที่กำหนดไว้ (มีพร้อมใน Framework แล้ว) เพื่อให้ Core อ่านคุณสมบัติของ Add-on ได้ทั้งหมด โดยมี Add-on มาตรฐานอยู่ 4 ตัวคือ

ต่อมาในส่วนอขง Warpper Class (เอาแนวคิดมาจากภาษา Java อีกตามเคย) เป็น Class ที่ไม่จำเป็นต้อง Initialize Object แต่สามารถใช้งานได้ทันที โดยจริง ๆ แล้วมันก็ทำงานคล้าย ๆ กับ Function ทั่วไปนั้นแหละ เพียงแต่ว่าการใช้ Function มีผลต่อชื่อที่อาจซ้ำกับ Function พื้นฐานในอนาคตได้ (ตอนนี้ Function บางตัวที่ผมเขียนในอดีตก็ดันไปซ้ำกับ Function พื้นฐานใน PHP 5 เสียแล้ว) เลยจำเป็นต้องเขียนใน Warpper Class แทน และยังเป็นการจัดกลุ่ม Function ด้วย โดย Warpper Class นั้นในตอนนี้มีอยู่ 5 ตัวคือ

ทั้งนี้ทั้งนั้นระบบ Framework นี้ไม่ได้ถูกทำขึ้นเพื่อใช้แค่ MVC เท่านั้น เรายังสามารถสร้างหน้าทั่วไป ในที่นี้ขอเรียกว่า ‘Page’ ได้เหมือนการเขียน HTML ทั่วไป เพียงแต่ข้อมูลที่มีจะถูกนำไปใส่ใน Theme โดยอัตโนมัติ โดยการเรียกหน้านั้นทำผ่าน URL "page" ของระบบ

โดยอย่างที่บอกไปแล้วว่าใน Framework นี้รองรับการสร้าง URL แบบ Rewrite ซึ่งสามารถเลือกที่จะไม่ใช้ก็ได้ในกรณีที่ Server ไม่รองรับ โดยไม่ต้องแก้ไข URL ใน Link ต่าง ๆ ใหม่ ซึ่ง URL ใน Link ต่าง ๆ นั้นต้องสร้างจาก Metod "url" ใน HTTP-Page เท่านั้น

จริงรายละเอียดมีมากกว่านี้ครับ แต่ว่าขอเอาแค่นี้ก่อนแล้วกัน ส่วน Diagram ของระบบยังไม่ขอเอามาลงเพราะระบบยังไม่นิ่งพอครับ

Exit mobile version