[BÀI 28] MÔ HÌNH MVC TRONG PHP

Để cho việc viết code các trang web dễ nhìn và đơn giản khi viết cũng như dễ sửa chữa khi nâng cấp. Khi viết code, các lập trình viên đã tạo nên một cách viết để có thể làm được điều này. MVC là một cách viết, mà cách viết này rạch ròi từng phần code mà lập trình viên viết. Rành mạch, dễ hiểu, dễ quản lý và dễ làm việc theo nhóm. Những điều này xóa tan đi những khuyết điểm mà cách viết code bình thường mang lại.

MVC là gì:

MVC là viết tắt của Model, Controller, View, trong đó:

  • Model: Kiểu mẫu xây dựng các hàm/phương thức. Bạn có thể hiểu đơn giản, model là 1 class mà trong class này chứa các hàm thao tác với database. Ở Model, chúng ta chỉ xây dựng các hàm để Controller có thể sử dụng.
  • Controller: Bộ điều khiển, Controller đóng vai trò là người trung gian giữa view và model. Controller sẽ sử dụng các hàm được xây dựng ở model và các tính toán/xử lý khác, sau đó đổ dữ liệu ra view, hoặc controller lấy dữ liệu từ view gửi sang, sau đó tính toán/xử lý và quyết định dùng hàm nào ở model để thao tác với database (trong nhiều trường hợp không cần thao tác với database), sau đó có thể lại trả kết quả ngược lại cho view.
  • view: khung nhìn, hay hiểu đơn giản là phần giao diện. Giao diện trang web mà bạn thấy chính là view.

Ưu điểm của mô hình MVC:

  • Hệ thống do được phân ra rạch ròi từng phần, nên sẽ dễ dàng viết, sửa chữa, nâng cấp và làm việc nhóm hơn.
  • Dễ dàng tìm và sửa lỗi trong quá trình viết, quá trình vận hành.

Nhược điểm của mô hình MVC:

  • Viết theo mô hình MVC sẽ làm trang web của bạn chạy chậm đi một chút, song bạn sẽ không thể nhận rõ được sự khác biệt này.
  • Việc xây dựng, tạo cấu trúc các file sẽ tốn thời gian hơn một chút. Song về sau lại sử dụng rất nhanh và chuyên nghiệp.

Ví dụ về một số thao tác để hiểu mô hình MVC làm việc như thế nào:

Bạn đang truy cập vào trang web http://laptrinhphp.com.vn/ , và ở menu bạn click vào phần “PHP”, đường link trên URL sẽ thay đổi thành: http://laptrinhphp.com.vn/tu-hoc-php/ , tức là có biến truyền lên URL. Ở phần này view đã gửi đến controller 1 biến có giá trị là tu-hoc-php. Controller nhận được giá trị này và xử lý, và biết rằng phải lấy dữ liệu của loạt bài tự học php để hiển thị ra view và phân trang,… , để làm được như vậy controller phải sử dụng hàm select của model để select ra toàn bộ dữ liệu của loạt bài tự học php, đồng thời tính toán để phân trang cho loạt dữ liệu vừa lấy được từ database. Sau đó trả dữ liệu lại cho view, và hiển thị ra màn hình, kết quả là giao diện mà bạn đang nhìn thấy.

Tổng kết:

Qua đây, bạn đã biết rằng. Trong một trang web, chúng ta nên viết theo mô hình MVC, mô hình phân chia công việc rõ ràng. Nếu như trước đây, mọi công việc bạn đều viết trên một trang, điều này làm tốn thời gian viết code, tốn mà quản lý lại rất khó khăn, mỗi trang xử lý một công việc gần giống nhau nhưng bạn vẫn phải viết lại từ đầu.