Trong
ứng dụng web, việc bố trí cấu trúc thư mục website phần nào ảnh hưởng tới quá trình viết mã lệnh ứng dụng. Để cho cấu trúc thư mục website được rõ ràng, tường minh và quan trọng đó là khả năng mở rộng ứng dụng mà không làm thay đổi cấu trúc ban đầu thì các bạn cần phải xây dựng cho ứng dụng của mình một cấu trúc tốt trước khi bắt đầu viết mã lệnh đầu tiên.
Mỗi phong cách viết khác nhau có thể các bạn sẽ có những cấu trúc khác nhau. Vì vậy, tôi cũng không yêu cầu các bạn tuân theo cấu trúc của tôi đưa ra nhưng để tiện lợi trong quá trình theo dõi loạt bài viết này thì các bạn nên bố trí cấu trúc thư mục website như của tôi cho thuận tiện.
Cấu trúc thư mục website mà tôi đưa ra như sau:
admin
configs
extends
libraries
models
views
—–admin
—–front
templates
—–admin
—–front
userfiles
Trong đó:
– admin: Chứa các file xử lý của trang quản trị.
– configs: Chứa các file cấu hình website.
– extends: Chứa các thành phần mở rộng (Editor, player…).
– libraries: Chứa thư viện cần thiết để lập trình.
– models: Chứa các file xử lý tương tác với DB (Lấy dữ liệu, thêm mới, chỉnh sửa, xóa…).
– views: Chứa các file giao diện HTML của website. Tôi chia thành hai nhóm là admin (Trang quản trị) và front (Trang người dùng).
– templates: Chứa các file CSS, JS, hình ảnh… Tôi cũng chia làm hai nhóm là admin và front.
– userfiles: Chứa các file do người dùng tải lên.
Mỗi trang của ứng dụng web tôi đã chia thành ba phần như sau:
– Trang xử lý: Chứa mã lệnh
lập trình PHP xử lý các yêu cầu từ người dùng và trả kết quả lại cho người dùng.
– Model: Thành phần tương tác trực tiếp với DB. Mỗi bảng dữ liệu trong DB tôi sẽ có một file tương ứng trùng tên với bảng dữ liệu đó và đặt trong thư mục models để người lập trình dễ kiểm soát.
– View: Thành phần giao diện HTML của website. Thành phần này sẽ nhận kết quả trả lại từ trang xử lý để trình bày dữ liệu đó theo giao diện HTML đã thiết kế.
Với cấu trúc như trên, tôi đã tách tối đa phần mã lệnh PHP với mã lệnh HTML để giúp mã lệnh website trở nên trong sáng hơn, dễ bảo trì, nâng cấp hơn.
Tác giả: Lê Trung Hiếu