CodeIgniter ถูกสร้างบนพื้นฐานการพัฒนาแบบ Model-View-Controller (MVC) ซึ่งก็คือ วิธีการทางซอฟต์แวร์ที่แยกระบบการใช้เหตุผลของแอพพลิเคชั่นจากส่วนแสดงผล ในทางปฏิบัติมันอนุญาตให้หน้าเว็บของคุณมีสคริปเล็กๆ เนื่องจากส่วนแสดงต้องแยกออกจากสคริป PHP รายละเอียดเกี่ยวกับ MVC มีดังนี้
การเรียนการสอนทางด้านคอมพิวเตอร์ การเขีียนโปรแกรม การพัฒนาโปรแกรม เทคนิคที่ึควรรู้ เทคนิคการวิเคราะห์และออกแบบระบบ และซอฟต์แวร์โอเพนซอร์ต (Open Source) ที่น่าสนใจ
วันอังคารที่ 5 ตุลาคม พ.ศ. 2553
วันจันทร์ที่ 23 สิงหาคม พ.ศ. 2553
CakePHP: MVC คืออะไร
MVC (Model View Controller) เป็นสถาปัตยกรรมของการเขียนโปรแกรมที่แยกส่วนการทำงานแต่ละส่วนให้เป็นอิสระต่อกัน
Model เป็นส่วนที่ติดต่อกับฐานข้อมูล โดย Model จะรับคำสั่งมาจาก Controller ซึ่งเป็นคำสั่งในการทำงานกับฐานข้อมูล เช่น SELECT, INSERT, UPDATE หรือ DELETE เป็นต้น โดยหลังจาก Model ทำงานตามคำสั่งเรียบร้อยแล้วก็จะ Return ค่ากลับไปที่ Controller อีกครั้ง เพื่อให้ Controller ส่งให้ View ต่อไป
View เป็นส่วนหลักของ UI (User Interface) หรือส่วนติดต่อกับผู้ใช้ ซึ่ง View สามารถที่จะมี Template ของ Layout ที่แตกต่างกันไปได้ โดยข้อมูลต่างๆ จะถูกส่งมาจาก Controller แล้วนำมาแสดงผลที่ View เช่นเดียวกัน หากเป็นข้อมูลจากฟอร์ม (Form) ก็จะสร้างที่ View แล้วส่งต่อให้กับ Controller ต่อไป
Controller เป็น Business Logic หลักของโปรแกรม ซึ่งเป็นตัวเชื่อมระหว่าง View กับ Model เช่น การรรับค่าจากฟอร์มโดยฟอร์มอยู่ที่ View ส่งค่าให้กับ Controller แล้ว Controller ก็จะทำการสร้าง Logic ในการบันทึกข้อมูล แล้วส่งให้แก่ Model ซึ่ง Model ก็จะรับ Logic ในการบันทึกแล้วบันทึกข้อมูลลงฐานข้อมูลต่อไป
หลักการทำงานของ MVC
- เมื่อ Client มีการร้องขอผ่าน View
- ข้อมูลจะส่งผ่านไปหา Controller โดย Controller จะเป็นตัวจำแนก Action ต่างๆ หรือเป็น Business Logic ของระบบ
- จากนั้น Controller ก็จะร้องขอไปยัง Model จาก Action นั้นๆ เช่น ร้องขอการเลือกข้อมูลทั้งหมดจากตาราง
- เมื่อ Model รับการร้องขอก็จะทำการ Query ข้อมูลตามที่ Controller ส่งมา
- Model จะส่งข้อมูลที่ได้กลับมาหา Controller
- Controller ก็จะทำการ Set ค่าลงในตัวแปรเพื่อส่งให้ View ต่อไป
- View ก็จะนำตัวแปรเหล่านั้นไปทำการแสดงผลตามต้องการได้
Reference: