
MVC เป็นรูปแบบของการเขียนคำสั่งแบบหนึ่ง โดยแบ่งการทำงานออกเป็น 3 ส่วน ได้แก่ Controller Model View ซึ่งแต่ละส่วนจะมีหน้าที่ที่แตกต่างกัน โดยมีพื้นฐานโครงสร้างมาจากการเขียนโปรแกรมเชิงวัตถุ (OOP) ถือเป็นรูปแบบที่ได้รับความนิยมมากและนำไปใช้ใน Framework หลายตัว

รูปภาพอ้างอิง : http://commons.wikimedia.org/wiki/File:Joomla_mvc-diagram.png แก้ไขรูปภาพโดย : MDSoft.Co.,Ltd
Controller เป็นส่วนควบคุมการทำงาน เมื่อ User หรือ Web Client ส่งคำขอต่างๆ เข้ามา เช่น เพิ่ม แก้ไข ลบ ส่วน Controller จะวิเคราะห์คำขอและกำหนดรูปแบบการแสดงผลและข้อมูลที่ควรส่งกลับไป นอกจากนี้อาจจะทำหน้าที่ Validate ข้อมูลก่อนส่งต่อไปให้ Model ใน Controller จะไม่มีการเชื่อมต่อฐานข้อมูลหรือแสดงผล แต่จะมีหน้าที่แค่เลือก Model และ View ที่เหมาะสมแทน
Model เป็นส่วนของ Logic และส่วนที่ติดต่อกับฐานข้อมูล งานที่ต้องใช้ร่วมกับฐานข้อมูล หรืองานที่ต้องมีการประมวลผลคำนวณหรือวนลูป จะอยู่ในส่วน Model ทั้งหมด ส่วนใหญ่ค่าที่นำไปประมวลผลจะถูกส่งต่อมาจาก Controller
View เป็นส่วนของการแสดงผล การกำหนด Layout เป็นส่วนที่ติดต่อกับ User โดยตรง โดยปกติส่วน View จะไม่มีการประมวลผลหรือติดต่อกับฐานข้อมูลโดยตรง เพราะข้อมูลพวกนั้นจะทำเสร็จมาจากใน Model แล้ว ส่วน View จะแค่เอาข้อมูลมาแสดงอย่างเดียว
PHP
MVC Framework
PHP
- Zend Framework
- Laravel
- Symfony
- Yii
- CodeIgniter
- Joomla Framework
- Backbone.js
- AngularJS
- Ember.js
- Knockout
- Agility.js
- Django
- TurboGears
- Web2py
บริการพัฒนา Module OpenERP บริการติดตั้งระบบ OpenERP บริการ Implement ระบบ ERP ด้วย Odoo