วันจันทร์ที่ 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

หลักการทำงานของ MVC

  1. เมื่อ Client มีการร้องขอผ่าน View
  2. ข้อมูลจะส่งผ่านไปหา Controller โดย Controller จะเป็นตัวจำแนก Action ต่างๆ หรือเป็น Business Logic ของระบบ
  3. จากนั้น Controller ก็จะร้องขอไปยัง Model จาก Action นั้นๆ เช่น ร้องขอการเลือกข้อมูลทั้งหมดจากตาราง
  4. เมื่อ Model รับการร้องขอก็จะทำการ Query ข้อมูลตามที่ Controller ส่งมา
  5. Model จะส่งข้อมูลที่ได้กลับมาหา Controller
  6. Controller ก็จะทำการ Set ค่าลงในตัวแปรเพื่อส่งให้ View ต่อไป
  7. View ก็จะนำตัวแปรเหล่านั้นไปทำการแสดงผลตามต้องการได้

Reference:

ไม่มีความคิดเห็น:

แสดงความคิดเห็น