MVC PHP - Xây dựng cấu trúc folder
Ở bài trước chúng ta đã tìm hiểu xong khái niệm MVC là gì rồi và đó cũng là bài mở đầu cho project MVC PHP căn bản nên chỉ dừng lại ở mức độ lý thuyết, vì vậy trong bài này mình sẽ tiến hành xây dựng cấu trúc thư mục cho project để hâm nóng các bạn :D.
Mình sẽ sử dụng cấu trúc tương tự như Codeigniter, tuy nhiên mình chỉ lấy ở mức độ căn bản thôi vì không thể nào trình bày hết được. Trong project các thư viện cũng tự viết tay nên sẽ không giống các Framework, vì vậy nó cũng không đảm bảo tính bảo mật, an toàn khi sử dụng nên bạn hãy sử dụng mang tính chất tham khảo thôi nhé.
Và trước khi vào vấn đề mình lưu ý luôn là để xem được serie này bạn phải thực sự thành thạo lập trình hướng đối tượng nhé.
1. Xây dựng cấu trúc folder trong mô hình MVC
Trước tiên bạn cần cài đặt vertrigo server để có thể chạy được ứng dụng PHP. Nếu bạn không sử dụng vertrigo thì có thể sử dụng các web server khác như Xampp, Wamp, ... Tiếp theo bạn vào thư mục chạy ứng dụng (htdocs
đối với Xampp và www
đối với vertrigo) tạo một project tên là mvc
và tao thêm các folder bên trong với cấu trúc như sau:
Bài viết này được đăng tại [free tuts .net]
Trong đó ý nghĩa các folder như sau:
- public: chứa các file public bên ngoài như
js
,css
vàtemplate
của ứng dụng - site: chứa ba folder chính là
controller
,model
vàview
. Folder này chứa source code của ứng dụng frontend - system: chứa hai folder
- core: Các thư viện cấu hình cho hệ thống MVC
- library: Chứa các thư viện được tạo trong quá trình xây dựng ứng dụng
- admin: folder này giống như site nhưng nó chứa source dành cho ứng dụng backend
- index.php đóng vai trò file bootstrap cho frontend, nó sẽ chạy code của folder
site
- admin.php đóng vai trò file bootstrap cho backend, nó chạy code của folder
admin
Như vậy tóm lại:
- Hệ thống MVC sẽ phân chia làm hai module chính là site (frontend) và admin (backend), mỗi module sẽ có một file bootstrap (
index.php
cho foldersite
vàadmin.php
cho folderadmin
). - Hệ thống MVC có một folder
system
dùng để chứa những thư viện dùng chung cho cả frontend và backend - Hệ thống MVC có folder
public
chứa các file nhưjs
,css
,jquery
, ... Đặc biệt nó có một folderupload
dùng để chứa hình ảnh upload cho tin tức
Có lẽ mình không giải thích thích thêm nữa vì bạn đang đọc bài này chứng tỏ PHP bạn cũng ở mức khá rồi. Bây giờ bạn gõ đường dẫn localhost/mvc
và xuất hiện trang trắng tức là bạn đã tạo thành công rồi nhé.
2. Lời kết
Trong bài này chúng ta đã tạo xong cấu trúc folder của ứng dụng MVC rồi nên ở bài tiếp theo chúng ta sẽ bắt đầu viết PHP và chúng ta sẽ tiến hành học cách xây dựng file bootstrap admin.php
.
Nếu bạn đang thắc mắc tại sao lại xây dựng file admin.php
thì mình xin giải thích rằng trong project này mình chỉ demo chức năng quản lý tin tức gồm bốn thao tác chính là hiển thị danh sách, thêm, xóa và sửa nên không xây dựng cho frontend, chính vì vậy folder site
và file index.php
chúng ta sẽ không sử dụng nên bạn có thể xóa nó đi.