MVC Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tag/mvc Cao Đẳng FPT M?ng c c??c bng ? tuyển sinh theo hình thức xét tuyển h?sơ. Tiêu chí đào tạo: Thực học ?Thực nghiệp! Wed, 30 Jun 2021 13:21:37 +0000 vi hourly 1 //wordpress.org/?v=6.4.1 //westview-heights.com/wp-content/uploads/cropped-logo-fpt-32x32.png MVC Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tag/mvc 32 32 MVC Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tin-tuc-poly/series-lap-trinh-huong-doi-tuong-trong-php-phan-4.html //westview-heights.com/tin-tuc-poly/series-lap-trinh-huong-doi-tuong-trong-php-phan-4.html#respond Wed, 30 Jun 2021 13:21:37 +0000 //westview-heights.com/?p=145935 MVC PHP – Mô hình MVC là gì? Đ?xây dựng một project lớn, phức tạp thì việc cần nhiều người cùng làm, do đó, ‘Source Code’ của d?án cần đáp ứng các tiêu chí như: D?dàng quản ...

The post Series Lập trình hướng đối tượng trong PHP (Phần 4) appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
MVC PHP – Mô hình MVC là gì?

Đ?xây dựng một project lớn, phức tạp thì việc cần nhiều người cùng làm, do đó, ‘Source Code’ của d?án cần đáp ứng các tiêu chí như: D?dàng quản lý, maintain; Có vòng đời đồng nhất, rõ ràng; D?dàng m?rộng.

Chính vì vậy, chúng ta cần xây dựng website/phần mềm của theo 1 quy tắc hay quy chuẩn nào đó đ?khi người mới join vào d?án đều có th?làm quen và bắt kịp.

Mô hình (architecture) ra đời đ?giải quyết vấn đ?này, hiện tại có rất nhiều loại mô hình được s?dụng trên các ngôn ng?lập trình như MVC, MVP, MVVM?đã được sáng tạo ra và áp dụng vào các d?án thực t?

Với hầu hết các framework của ngôn ng?PHP (Laravel, Yii, CakePHP, CodeIgniter,… ) đều đang s?dụng mô hình MVC nên bài viết này s?giới thiệu với các bạn v?mô hình MVC và cách xây dựng mô hình MVC trong PHP.

Mô hình MVC là gì?

MVC (viết tắt của Model – View – Controller) là một mô hình thiết k? giúp bạn t?chức code theo từng phần độc lập với nhau và các phần tương tác với nhau theo một cách nhất định.

C?th? nó s?đưa các phần x?lý logic và business (Model) ra khỏi phần giao diện (View) t?đó giúp việc quản lý và m?rộng code tr?nên d?dàng hơn.

MVC là một trong những khung mô hình phát triển web tiêu chuẩn ngành được s?dụng thường xuyên nhất đ?tạo ra các d?án có th?m?rộng.

“Model” – Đây là thành phần tập trung vào x?lý business logic của ứng dụng. Cũng thường được xem là nơi lưu tr?và x?lý d?liệu xuyên suốt trong mô hình MVC. Các thành phần đảm nhiệm vai trò “Model” có th?k?đến bao gồm: Database; XML File và Data sources.

“Controller” – Đây là phần s?tiếp nhận và x?lý các yêu cầu (request) đến t?phía người dùng. T?đây, các yêu cầu s?được chuyển đến các nơi tương ứng đ?x?lý và nhận lại kết qu?phù hợp, sau đó d?liệu s?được đưa sang “View” đ?hiển th?cho người dùng.

Hiểu một cách khác thì “Controller” là một mắt xích đ?kết nối 2 thành phần “Model” và “View” lại với nhau đ?x?lý các yêu cầu t?người dùng

“View” – Là thành phần hiển th?d?liệu, nó s?không chứa bất k?x?lý logic nào mà đa phần ch?s?chứa các form nhập liệu, các đoạn HTML hoặc các table đ?hiển th?d?liệu

Ưu điểm và nhược điểm mô hình MVC
Có th?d?dàng nhận thấy, uu điểm của mô hình MVC gồ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 module 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.

Trong khi đó, những nhược điểm cũng cần lưu ý như:
?H?thống s?chạy chậm hơn PHP thuần, tuy nhiên nó không phải là vấn đ?
?Xây dựng cầu kì và mất thời gian đ?xây dựng thư viện, cấu trúc.

Trên thực t? chúng ta không cần phải xây dựng lại toàn b?các thành phần trong mô hình MVC vì đã có các PHP Framework đảm trách phần việc đó. Việc còn lại là chúng ta lựa chọn Framework nào phù hợp với các yêu cầu d?án đặt ra và “chiến thôi”.

Vòng đời website (Website life cycle)

Vòng đời của một trang web MVC bắt đầu với một người s?dụng truy cập một địa ch?trang web với các thông s?nhất định trong trình duyệt của mình. Ví d? ta muốn hiển th?thông tin của user có id là 15. Địa ch?URL có th?trông như th?này: //www.domain.com/user/detail/15

Đầu tiên và quan trọng nhất, yêu cầu được x?lý bởi cái gọi là b?định tuyến (Router), b?định tuyến này xác định b?điều khiển (Controller) mà chúng ta đang gọi dựa trên các tham s?URL . Trong trường hợp này ta s?gọi tới UserController và chuyển các tham s?“detail” và ?5?cho nó.

Controller nhận ra những gì ta muốn t?nó dựa trên các tham s?URL. Trong trường hợp này, nó s?nhận ra ta muốn nó hiển th?thông tin chi tiết của người dùng. Nó gọi một Model , Model này s?tìm kiếm người dùng trong cơ s?d?liệu (MySQL) và tr?v?các chi tiết của nó.

Sau đó, Controller có th?gọi một phương thức khác trên Model (ví d? tính tuổi của user). Controller lưu các giá tr?này vào các biến. Cuối cùng, nó Render ra View, nó xác định tên của một View dựa trên một hành động mà nó đang x?lý. Các biến chứa d?liệu được chuyển sang View.

Lúc này, Controller đã thực hiện những gì người dùng yêu cầu, nó lấy d?liệu t?Model dựa trên các tham s?đường dẫn và chuyển chúng vào View.

Đây là sơ đ?vòng đời website MVC

Xây dựng cấu trúc thư mục đ?triển khai d?án MVC bằng ngôn ng?PHP

Giải thích v?cấu trúc thư mục trên:
?Thư mục mvc là thư mục chứa project.
?Thư mục public gồm các file font ch? hình ảnh, javascript, css…
?Thư mục controllers chứa các file định nghĩa các lớp controller, trong đó có các hàm tương tác với model và gọi ra view đ?tr?v?cho người dùng.
?Thư mục models chứa các file định nghĩa các lớp model, chịu trách nhiệm thao tác với CSDL.
?Thư mục views chứa thư mục như layouts – chứa template hiển th?chung của trang web
?.htaccess hay được gọi là hypertext access là một file cấu hình s?dụng cho webserver chạy Apache, nó giúp ta định tuyến toàn b?request v?1 file mà ta ch?định. (nó ch?h?tr?cho Apache)

Trên đây, bài viết đã trình bày khái niệm và cấu trúc thư mục triển khai mô hình MVC trong PHP, trong bài tới mình s?nói chi tiết hơn v?cách triển khai này.

The post Series Lập trình hướng đối tượng trong PHP (Phần 4) appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
//westview-heights.com/tin-tuc-poly/series-lap-trinh-huong-doi-tuong-trong-php-phan-4.html/feed 0