Mô Hình MVC Là Gì? - PHP - Freetuts
Có thể bạn quan tâm
Trong bài này mình sẽ giới thiệu với các bạn mô hình MVC là gì? và đây cũng là bài mở đầu cho project MVC căn bản dành cho người mới bắt đầu tìm hiểu về MVC. Trong serie này mình sẽ làm một demo nho nhỏ về MVC xây dựng chức năng quản lý tin tức.
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.Hiện nay trên mạng có khá nhiều serie về MVC và họ viết rất nhiều cách khác nhau, riêng đối với serie này của mình thì không cần dùng dao to búa lớn làm gì mà chỉ hướng dẫn sử dụng tạo project theo mô hình MVC và thông qua project này các bạn sẽ hiểu được ý nghĩa của từng tầng và như vậy là mình đã thành công rồi. Còn bây giờ ta vào bài học chính nhé.
1. Mô hình MVC là gì?
Từ hồi đi học mình đã tiếp xúc với mô hình 3 lớp, đến khi ra trường thì mình mới tiếp xúc tới mô hình MVC và mình bắt đầu tìm hiểu từ đó. Kể ra lúc đó cũng ngu, mà ngu một phần thôi mà vì nghèo nhiều hơn, mình học công nghệ thông tin nhưng không có điều kiện vật chất để sở hữu máy tính sớm nên không có cơ hội học online được, mãi khi ra trường mới được mở rộng tâm mắt.
MVC là chữ viết tắt của Model - View - Controller, đây là một mô hình kiến phần mềm được tạo ra với mục đích quản lý và xây dựng dự án phần mềm có hệ thống hơn. Mô hình này được dùng khá rộng rãi và đặc biệt là trong các ngôn ngữ lập trình web. Trong PHP hiện tại có khá nhiều Framework và tất cả đều xây dựng từ mô hình MVC, từ đó bạn có thể thấy sự quan trọng của nó như thế nào rồi đấy.
Bài viết này được đăng tại [free tuts .net]
Trong mô hình 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, load model tương ứng và gửi data qua view 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. Hiện trên mạng có khá nhiều mô hình vẽ ra nhưng mình thấy nó quá rắc rối nên mình chọn hình này cho bạn dễ hiểu nhất.
2. Ưu điểm và nhược điểm mô hình MVC
Bây giờ mình liệt kê một số ưu điểm và nhược điểm của mô hình MVC nhé.
Ưu điểm:
- Hệ thống phân ra từng phần nên dễ dáng phát triển
- Chia thành nhiều modun nhỏ nên nhiều người có thể làm chung dự án
- Vấn đề bảo trì cũng tương đối ok, dễ nâng cấp
- Dễ dàng debug trong quá trình xây dựng
Nhược điểm:
- Hệ thống sẽ chạy chậm hơn PHP thuần, tuy nhiên nó ko phải là vấn đề :D
- Xây dựng cầu kì và mất thời gian để xây dựng thư viện, cấu trúc
Xét về ưu và nhược thì rõ ràng nên xử dụng MVC phải không nào các bạn :D
3. Luồng xử lý trong mô hình MVC
Ok bây giờ mình sẽ đưa ra một ví dụ về luồng xử lý trong mô hình MVC nhé.
Giả sử bạn đang xem một bài tuts trên website freetuts.net có URL là https://freetuts.net/rewrite-url-trong-codeigniter-344.html thì hệ thống MVC sẽ xử lý như sau:
- Bước 1: Dựa vào yêu cầu của bạn là xem bài viết có id=344 nên controller sẽ gọi tới một hàm lấy dữ liệu theo id trong model
- Bước 2: Sau khi có dữ liệu controller sẽ gửi qua View, lúc này view có nhiệm vụ xử lý dữ liệu và convert thành nhữn đoạn mã HTML
- Bước 3: Sau khi view kết thúc thì controller sẽ gửi trả nội dung HTML của view về cho client nên bạn sẽ xem được nội dung của bài tus có id=344
Cũng hơi rắc rối nhưng hy vọng bạn hiểu :3
4. lời kết
Đây là bài đầu tiên trong serie xây dựng project MVC nên mình chỉ giới thiệu khái niệm mô hình MVC là gì, các thành phân cơ bản trong mô hình MVC như model, controller và view. Bài này về khái niệm mình viết ở dạng hiểu riêng nên có thể nó không giống với những bài ở các trang khác nhưng chung quy lại nó cũng giống nhau cả thôi. Bài tiếp ta học cách xây dựng cấu trúc folder trong mô hình MVC, chúc bạn học tốt
Từ khóa » Tìm Hiểu Về Mvc
-
MVC Là Gì? Ứng Dụng Của Mô Hình MVC Trong Lập Trình - Vietnix
-
MVC Là Gì? Ứng Dụng Của Mô Hình MVC | Thiết Kế Web Monamedia
-
Đôi điều Về Mô Hình MVC - Viblo
-
MVC Là Gì? Tìm Hiểu Về Mô Hình MVC Trong Lập Trình Từ A - Z
-
Giải Thích Mô Hình MVC Thông Qua … Cốc Trà đá | TopDev
-
MVC Là Gì? Tìm Hiểu Về Lợi ích Và Hạn Chế Của MVC - Bizfly Cloud
-
Model View Controller (MVC) Trong PHP - Tìm Hiểu Về MVC - T3H
-
MVC Là Gì? Ứng Dụng Của Mô Hình MVC Trong Lập Trình - Tino Group
-
Giải Thích Dễ Hiểu Về MVC - Mô Hình MVC Là Gì? - VNTALKING
-
Mô Hình MVC Là Gì Và ứng Dụng Của MVC Trong Lập Trình - Mona Media
-
Mô Hình MVC Là Gì? Cách Vận Hành Và Ưu Nhược điểm Của MVC
-
Lập Trình Web MVC - Lý Do Khiến Mô Hình MVC được ưa Chuộng
-
Mô Hình MVC Là Gì? Những Ứng Dụng Và Ưu Điểm Của MVC
-
Tìm Hiểu Mô Hình MVC Dành Cho Người Mới Bắt đầu: Cấu Trúc Và Ví Dụ