Dịch vụ

Sản phẩm

Tin tức

Xây dựng cấu trúc foder

Trong bài viết này, tôi sẽ hướng dẫn các bạn xây dựng cấu trúc folder cho project trong PHP, các tổ chức các folder, làm thế nào để tổ chức một cách tối ưu giữa lập trình, nâng cấp và bảo trì tốt nhất.

Xây dựng cấu trúc foder module user

Ở phần này, tôi sẽ giới thiệu đến các bạn một cấu trúc folder cơ bản mà tôi nghĩ nó khá là quan trọng bởi nó sẽ ảnh hưởng đến quá trình bảo trì và nâng cấp cũng như lập trình sau này. Sau đây, tôi sẽ đưa ra 1 mô hình folder cơ bản mà các bạn có thể tham khảo.

Tuy trong ảnh đã có từng chú thích nhưng tôi sẽ nói rõ hơn để cho các bạn mới vào nghề được nắm vững từng chức năng của nó.

-Đầu tiên là trong folder admin: Đây là folder chứa sourch của admin, và folder libs là folder chứa các thư viện của project, cả 2 folder này đều cùng cấp với nhau. Sau này nếu như các bạn viết về common thì các bạn có thể tạo một folder common và cách tổ chức của nó cũng tương tự như là folder admin của chúng ta.

Trong folder admin thì chúng ta có folder database, folder module, folder user và folder request.

Đối với folder database chúng ta sẽ chứa những phần xử lý về cơ sở dữ liệu như trong source web này, chúng ta tạo 1 file tên là user.php, file này dùng để chứa các hàm xử lý database dành cho bảng user.

Trong folder module, chúng ta có 2 module mà module common và module user.

+Đối với module common thì chúng ta có phần 404, file này dùng để hiển thị lỗi không tìm thấy trang, còn file login.php và logout.php thì 2 file này nó xử lý cho đăng nhập và đăng xuất.

+Còn đối với module chính của chúng ta mà module user, dùng để thao tác 4 action là thêm, xóa, sửa và hiển thị danh sách, 4 action này tôi có tạo sẵn đây rồi.

Folder widgets thì gồm có 3 action là header, footer, đây là phần layout, hiển thị ra ngoài website.

Ở mô hình này, tất cả các request đều vào file index.php, file này sẽ phân tích và chọn module phù hợp, nếu chúng ta request đến 1 module tồn tại thì nó sẽ gọi, nếu chúng ta truy cập vào 1 module không tồn tại thì nó sẽ vào module không tìm thấy trang, tức là 404. Đó là lý do mà chúng ta gọi file này là file Bootstrap.

-Tiếp đến là folder libs: Đây là folder chứa các thư viện xử lý cho từng ứng dụng của website.

Vậy là chúng ta đã xây dựng xong cấu trúc folder của Website php cơ bản, tiếp theo, tôi sẽ giới thiệu đến các bạn một số mô hình của cấu trúc folder mà các bạn nên tìm hiểu.

Cấu trúc folder mô hình MVC

Trước khi tìm hiểu đến cấu trúc folder mô hình MVC, bác bạn nên học và thực hành các kiến thức ở phần module user trước đã nhé. Các bạn không cần phải học hỏi các kỹ thuật cao siêu, cao cấp gì đó vội, ở phần này, các bạn chỉ cần hiểu được ý nghĩa của từng tầng là được rồi.

Mô hình MVC là gì?

Mô hình MVC trong tiếng anh còn được gọi là Model View Controller, nó là một mô hình được được thiết kế để xây dựng và quản lý phần mềm có hệ thống hơn, nó được dùng khá rộng rãi trong lập trình web ở hầu hết các ngôn ngữ web.

Sau đây tôi sẽ giải thích rõ từng phần cho các bạn được rõ:

-Model: Đây là nơi chứa tất cả các hàm, dữ liệu, các hàm và dữ liệu đó sẽ được truy vấn và xuất dữ liệu rồi gửi qua view.

-View: Đây chính là phần giao diện của Website, tất cả các dữ liệu sẽ được tiếp nhận và hiển thị nội dung ra ngoài website.

-Controller: Phần này có nhiệm vụ là tiếp nhận các dữ liệu từ máy chủ và tiến hành xử lý rồi chọn model phù hợp và gửi dữ liệu về view.

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

-Dễ phát triển hệ thống về sau do được phân chia theo từng phần

-Rất dễ để nâng cấp

-Nhiều người có thể làm chung một dự án do được chia nhỏ từng module

-Mức độ bảo mật cao

-Dễ dàng khắc phục các lỗi trong quá trình thiết kế

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

-So với PHP thuần thì hệ thống sẽ chạy chậm hơn nhưng không đáng kể

-Tốn nhiều thời gian để xây dựng do sự phức tạp trong cấu trúc

Với những nhược điểm này thì cũng rất đáng để sử dụng mô hình này phải không nào.

Luồng xử lý của mô hình MVC

Luồng mô hình này khá là phức tạp nên tôi cũng mong là các bạn sẽ hiểu được, và để dễ hiểu nhất, tôi sẽ đưa ra cho các bạn một ví dụ cụ thể.

Ví dụ: Khi chúng ta truy cập vào một bài viết trên Website Websiteprofast.vn có URL: http://websiteprofast.vn/thiet-ke-website-cho-doanh-nghiep-2104.html thì cấu trúc MVC sẽ xử lý như sau:

1: Bài viết này sẽ có ID là 344 và Controller sẽ gọi đến hàm chứa dữ liệu của ID đó trong model.

2: Ở bước thứ 2 này, Controller sẽ gửi dữ liệu quả view và xử lý những dữ liệu đó và xuất thành các đoạn mã html.

3: Sau khi view xử lý dữ liệu xong thì controller gửi nội dụng html đó về cho máy chủ và bạn có thể xem được nội dung đó.

Đến đây thì bài viết xây dựng cấu trúc folder module user của tôi đã kết thúc, hy vọng với các cấu trúc mà tôi giới thiệu bên trên sẽ giúp bạn có được cái nhìn cơ bản về cấu trúc này và có tư duy tốt để lựa chọn và xây dựng mô hình folder tốt nhất cho cá nhân mình.