Model
การทำงานของ model จะจัดการส่วนที่ข้อมูลทั้งหมดจะคอยเตรียมข้อมูลที่เหมาะสมไว้ และ model นั้นจะทำงานเมื่อ controller ร้องขอเท่านั้น
View
view นั้นจะจัดการส่วนของหน้าตาทั้งหมด หรือส่วนติดต่อกับผู้ใช้โดยตรง (user interface) โดย view นั้นจะรับคำสั่งการทำงานจาก controller และเป็นตัวกลางให้ผู้ใช้ติดต่อกับ controller อีกด้วย
Controller
controller เปรียบเสมือนกับมันสมองและศูนย์กลางการทำงานทั้งหมด จะเห็นว่าทุกส่วนนั้นจะติดต่อกับ controller ทั้งหมดรอคอยคำสั่งจาก controller นอกจากนี้ controller จะจัดการทำงานในส่วนที่เป็น logic ทั้งหมดในระบบ
สิ่งควรสร้างใน component ของ Joomla
- สร้างโฟเดอร์ controllers สำหรับการจัดการโฟเดอร์ models + views
- สร้างโฟเดอร์ models สำหรับการจัดข้อมูล
- สร้างโฟเดอร์ language สำหรับการภาษาต่าง เช่น ไทย อังกฤษ
- สร้างโฟเดอร์ views สำหรับการแสดงผล
- สร้างโฟเดอร์ installation สำหรับการติดตั้ง
- สร้างไฟล์ controller.php
- สร้างไฟล์ component นามสกุล php สำหรับการจัดการ component
- สร้างไฟล์ component นามสกุล xml สำหรับฟอร์ม component
- สวร้างไฟล์ global.php สำหรับ class joomal
อ้างอิง
https://www.mindphp.com/forums/viewtopic.php?f=29&t=11823
https://www.borntodev.com/2020/04/02/%E0%B8%AA%E0%B8%A3%E0%B8%B8%E0%B8%9B-concept-%E0%B8%9E%E0%B8%B7%E0%B9%89%E0%B8%99%E0%B8%90%E0%B8%B2%E0%B8%99-mvc/
https://www.mindphp.com/%E0%B8%84%E0%B8%B9%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD/73-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/2620-joomla-cms.html
https://www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/34-joomla/4182-what-is-joomla-extension.html