
MVC (Model - View - Controller) คืออะไร
เนื่องจากผมเป็นคนที่ไม่ได้เรียนมาในสายคอมพิวเตอร์ ดังนั้นครั้งแรกที่ผมได้ยินเรื่องการทำงานแบบ MVC ใน CodeIgniter ก็เลยถือว่าเป็นเรื่องที่ใหม่มาก เพราะว่าไม่รู้เลย ว่ามันคืออะไร หน้าตาแบบไหน ทำงานอย่างไร แต่พอศึกษาแล้ว ก็เข้าใจได้ว่า ไม่ใช่เรื่องใหญ่ และมันก็ไม่ยากในการทำความเข้าใจเลย
MVC (Model View Controller) คืออะไร
MVC หรือ Model View Controller มันคือ รูปแบบการพัฒนา software และการทำงานของ software รูปแบบหนึ่ง คือเรียกง่ายๆว่า มันคือการแบ่งส่วนของทั้ง software ออกมาเป็น 3 ส่วนหลักๆ แค่นั้นเอง โดยประกอบด้วยส่วน Model , View และ Controller
Model คืออะไร
Model คือส่วนของ software ที่จะทำงานเกี่ยวข้องแต่ส่วนของ database โดยจะเรียกข้อมูลจาก database เพื่อส่งให้กับ view
View คืออะไร
View คือส่วนของการแสดงผลของ software ที่จะรับค่ามาจาก model หรือ controller
Controller คืออะไร
Controller คือส่วนที่คิดคำนวนของ software และเป็นระบบดำเนินการหลักๆของ software หลักๆ โดยจะมีการรับ และส่งข้อมูลร่วมกันกับ Model และ View
ทั้งนี้เมื่อดูรูปการทำงานก็จะเข้าใจ
โดย MVC นี้ เอามาใช้ประโยชน์เพื่อการแบ่งส่วน งาน และการพัฒนาของ software ได้ จากปกติที่อาจจะหลายคนช่วยกันทำส่วนเดียว ก็แบ่งออกมาให้ชัดเจนเลย ว่าใครทำส่วนไหน มีหน้าที่อย่างไร อย่างที่บอกว่า อย่างน้อยเราก็สามารถแบ่งงานออกมาได้ 3 ส่วนเลย คือ ส่วน design หน้าตา (view) , ส่วนจัดการข้อมูล คำนวน ประมวลผล สั่งการทำงาน หรือ coding หลักๆ (controller) และ สุดท้ายคือ ส่วนที่จัดการเกี่ยวกับข้อมูลในฐานข้อมูล (model)
ทั้งนี้ประโยชน์ที่เราได้รับจาก MVC ก็คือการแก้ไข และการพัฒนาแบบแยกส่วน โดยเมื่อเราพัฒนาไปมากๆแล้วต้องการแก้ไขเราก็สามารถแก้ไขได้บางส่วน โดยที่ไม่กระทบกันส่วนอื่นๆเลย เพราะว่าส่วนของการพัฒนาแยกกันมาตั่งแต่ต้นแล้วเท่านั้นเอง
สำหรับเรื่องของ MVC มีภาษาหลายภาษาที่ต้องเขียนบนรูปแบบการทำงานแบบนี้เลย แต่ส่วนของ PHP ที่ไม่ได้ถูกสร้างมาเพื่อให้เขียนโค้ดแบบ MVC แต่ก็มีคนใจดีทำ framework มาให้เราได้ใช้งานกันในรูปแบบของ MVC ได้ด้วยเช่นกัน เท่าที่ผมเห็นก็ไม่น้อยกว่า 5 ตัวเลยและแน่นอน ว่า CodeIgniter ก็คือหนึ่งในนั้น