Fig 1 - Luồng xử lí của mô hình MVC
Mô hình MVC là mô hình phát triển ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> web phổ biến nhất hiện nay. Tuy nhiên, rất ít hướng dẫn cung cấp cái nhìn toàn diện và dễ hiểu về mô hình này. Bài viết này sẽ chia sẻ một số thông tin quan trọng về mô hình MVC và giải thích cách nó hoạt động.
1. Giới thiệu
- Mô hình MVC gồm ba lớp: Model, View, Controller. Cụ thể như sau:
- Model: Lớp này quản lí dữ liệu, giao tiếp với cơ sở dữ liệu và lưu trữ hoặc truy vấn dữ liệu.
- View: Lớp này là giao diện của ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> biểu diễn dữ liệu thành các dạng nhìn thấy được.
- Controller: Lớp này quản lí và điều phối hoạt động của ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> Nó nhận request từ client, điều phối Model và View để trả kết quả về người dùng.
Fig 2 - Mô hình ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> minh hoạ
2. Tổ chức chương trình và source code
- Đầu tiên, chúng ta cần một điểm truy cập ban đầu để vào ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> file
index.php
đảm nhận nhiệm vụ này. Điểm truy cập này sẽ hiển thị các tính năng của ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> và cho phép người dùng truy cập vào chức năng mong muốn (controller tương ứng).
Fig 3 - Tổ chức source code của ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> minh hoạ
a. Tầng Controller
- Đây là tầng điều phối của ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> nhận request từ client, phân tích request, gọi Model để lấy dữ liệu và View để hiển thị dữ liệu.
- Trong ví dụ này, chúng ta sẽ điều phối chức năng quản lí học sinh bằng controller
C_Student.php
. Controller này chịu trách nhiệm hiển thị danh sách học sinh và chi tiết học sinh tương ứng với các tham số đầu vào.
Fig 5 - Entity class, mô tả các bảng trong CSDL
Fig 6 - Lớp Model phụ trách phần liên kết dữ liệu Database
c. Tầng View
- Tầng View định dạng hiển thị dữ liệu cho người dùng. Với hai tính năng danh sách học sinh và chi tiết học sinh, chúng ta sẽ có hai view khác nhau. Controller sẽ truyền dữ liệu vào View để hiển thị.
- Mã PHP được nhúng vào mã HTML để truyền dữ liệu từ Controller vào View.
Fig 7 - View của “Danh sách học sinh”
Fig 8 - View của “Chi tiết học sinh”
- Mô hình tuần tự sau đây mô tả luồng hoạt động của một HTTP request trong mô hình MVC:
Fig 9 - Sơ đồ tuần tự mô tả luồng chạy của một xử lí trong mô hình MVC
3. Tóm tắt
- Mô hình MVC là mô hình tiện lợi nhất trong việc phát triển ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> web. Bài viết cung cấp cái nhìn cơ bản về mô hình MVC và cách các thành phần của nó hoạt động. Các framework khác cũng sử dụng mô hình MVC với cấu trúc tương tự.
- Một số lợi ích của MVC:
- Tách biệt Model và View, tạo sự linh hoạt khi thay đổi ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'>
- Model và View có thể thay đổi độc lập. Ta có thể tạo các ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> giao tiếp thông minh hơn bằng cách thay đổi View hoặc sử dụng Web service thay thế cơ sở dữ liệu.
Bài viết được đăng với sự đồng ý của Nhungdongcodevui.
Xem thêm các việc làm IT hot tại TopDev!