PHP MVC là gì? (phần 3)

Mô hình MVC làm việc như thế nào?

Tưởng tượng một cổng, nơi người dùng của bạn tương tác với giao diện người dùng theo cách nào đó, như
bằng cách click một link hay đệ trình một form. Bây giờ, controller đảm nhận nhiệm vụ và xử lí sự kiện
đầu vào người dùng từ giao diện người dùng. Kết quả là, controller thông báo cho model về hành động
người dùng. Thường thì, trạng thái của model thay đổi. Giả sử controller cập nhật trạng thái của người dùng.
Nó tương tác với model, và model không biết trực tiếp về view. Model truyền đối tượng dữ liệu tới controller,
và sau đó controller của bạn khởi tạo nội dung với dữ liệu động đó.
Vì sự lặp lại đơn giản của nó và nguyên tắc chia tách trách nhiệm, mô hình MVC thường được tìm thấy trong
ứng dụng web.
Bây giờ, mô hình MVC có thể được biên dịch theo các cách khác nhau. Một nhóm người nghĩ rằng bộ phận xử lí thực
sự được xử lí bởi model, và controller chỉ xử lí dữ liệu đầu vào. Trong biên dịch như vậy, dòng đầu ra xử lí đầu
vào được trình bày bởi Controller – Model – View, ở đây controller biên dịch đầu vào con chuột và bàn phím
từ người dùng.
Vì vậy, một controller chịu trách nhiệm cho chập những hành động người dùng cuối vào phản ứng ứng dụng, trái lại
những hành động của model bao gồm kích hoạt quá trình business hay thay đổi trạng thái model. Các tương
tác người dùng và phản ứng model quyết định controller sẽ phản ứng như thế nào bằng cách chọn view phù hợp.
Bây giờ nhiều khung MVC thêm chức năng thêm như một data access object (DAO) để trao đổi thông tin với
CSDL quan hệ.
Trong điều kiện thông thường, dòng dữ liệu giữa mỗi bộ phận tiến hành nhiệm vụ được thiết kế của nó. Tuy nhiên,
nó là tùy vào bạn để quyết định dòng dữ liệu này sẽ được thực thi như thế nào. Với khung MVC, bạn sẽ biết rằng
dữ liệu được đẩy vào view bởi controller. Cùng lúc, controller giữ thao tác xử lí dữ liệu trong model.
Khi sử dụng khung MVC, bạn phải giữ một DAO riêng rẽ, và model sẽ xử lí DAO như phù hợp. Vì vậy, tất cả
các phát biểu SQL có thể được khởi tạo và thực thi tại chỉ một nơi. Hiệu lực hóa và thao tác xử lí dữ liệu
có thể được áp dụng tại một nơi: model. Controller sẽ xử lí chu kì sống yêu cầu/trả lời, lấy đầu vào từ
giao diện người dùng và cập nhật model tùy theo. Khi controller nhận đèn xanh từ model, nó gửi trả lời tới view.
View chỉ biết một thứ hiển thị.

 

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *