[Module User] - Xây dựng cấu trúc folder - PHP MVC căn bản
Ở bài trước mình đã hướng dẫn các bạn tạo database php_example và tạo một table tên là tb_user dùng để xây dựng module quản lý thành viên. Vậy trong bài này mình sẽ hướng dẫn các bạn xây dựng cấu trúc folder cho project của chúng ta. 1. Xây dựng cấu trúc folder module User Bài này mình chỉ ...
Ở bài trước mình đã hướng dẫn các bạn tạo database php_example
và tạo một table tên là tb_user
dùng để xây dựng module quản lý thành viên. Vậy trong bài này mình sẽ hướng dẫn các bạn xây dựng cấu trúc folder cho project của chúng ta.
1. Xây dựng cấu trúc folder module User
Bài này mình chỉ giới thiệu cấu trúc folder thôi nên cũng không có gì đặc biệt. Tuy nhiên mình nghĩ nó rất quan trọng bởi nếu ta không tổ chức một cấu trúc folder tốt thì sẽ dẫn đến khó lập trình, nâng cấp và bảo trì.
Các bạn xem mô hình sau:
Trong mô hình này cấp ngoài cùng là folder admin
và libs
:
- admin: là folder chứa source của admin
- libs: là folder chứa các thư viện xử lý cho ứng dụng
Trong folder admin ta lại chia ra làm ba folder con:
- widgets: chứa các file như
header.php
,footer.php
của layout - database: chứa các file xử lý dữ liệu. Như trong hình mình có file
user.php
là dùng chứa các hàm xử lý database bảngtb_user
. - modules: chứa các module con. Hiện tại mình có module common và module users
Trong mô hình này file quan trọng nhất là file admin/index.php
. File này ta gọi là file bootstrap dùng để điều hướng các request trong hệ thống. Nó sẽ kiểm tra nếu request không tồn tại thì thông báo lỗi 404. Đây là một mô hình khá hay dành cho project PHP căn bản bởi cách hoạt động khá giống với mô hình MVC, vì vậy nếu bạn hiểu mô hình này thì sẽ dễ dàng tiếp xúc với mô hình MVC ở phần PHP nâng cao.
2. Lời kết
Như vậy là mình đã giới thiệu xong cách tổ chức folder dành cho ứng dụng PHP căn bản của chúng ta, đây là một mô hình cũng tương đối khó đối với những bạn mới học nhưng mình vẫn muốn sử dụng bởi nếu bạn tiếp xúc được thì bạn sẽ dễ học phần PHP nâng cao hơn.
Bài tiếp theo mình sẽ hướng dẫn xây dựng viết thư viện xử lý database.