Model-View-Controller
Mô hình model-view-controller (MVC)và các mô hình liên quan như HMVC và MVVM cho phép bạn chia code thành các đối tượng logic thực hiện các mục đích khác nhau. Model hoạt động như là lớp truy cập dữ liệu , nơi dữ liệu được fetch và trả về trong định dạng có thể sử dụng trong ứng dụng. Controller quản lý các request, tiến trình dữ liệ được trả về từ Model và load View. View hiển thị template (markup, xml, …).
MVC là pattern phổ biến nhất được dùng trong các PHP framework.
Trong Pattern này thì:
- Model: có nhiệm vụ thao tác với cơ sở dữ liệu, nghĩa là nó sẽ chứa tất cả các hàm, các phương thức truy vấn trực tiếp với dữ liệu và
controller
sẽ thông qua các hàm, phương thức đó để lấy dữ liệu rồi gửi qua View - View: có nhiệm vụ tiếp nhận dữ liệu từ
controller
và hiển thị nội dung sang các đoạn mã HTML, bạn có thể hiểu nôm na đây người ta còn gọi là thành phần giao diện. - Controller: đóng vài trò trung gian giữa
Model
vàView
. Nó có nhiệm vụ tiếp nhận yêu cầu từ client sau đó xử lý request, loadmodel
tương ứng và gửi data quaview
tương ứng rồi trả kết quả về cho client
Để rõ ràng hơn thì bạn xem hình dưới đây:
Nhìn vào mô hình này các bạn thấy giữa model
và view
không hề có mối liên hệ mà nó sẽ thông qua controller
để giao tiếp với nhau.
Tìm hiểu thêm về MVC và các mô hình liên quan: