06/04/2021, 14:46

MVC PHP - Xây dựng cấu trúc folder - Học MVC PHP nâng cao

Ở 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ư ...

Ở 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é.

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:

cau-truc-folder-mo-hinh-mvc-php.png

Trong đó ý nghĩa các folder như sau:

  • public: chứa các file public bên ngoài như js, csstemplate của ứng dụng
  • site: chứa ba folder chính là controller, modelview. 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) admin (backend), mỗi module sẽ có một file bootstrap (index.php cho folder siteadmin.php cho folder admin).
  • Hệ thống MVC có một folder system dùng để chứa những thư viện dùng chung cho cả frontend backend
  • Hệ thống MVC có folder public chứa các file như js, css, jquery, ... Đặc biệt nó có một folder upload 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 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.

Trần Trung Dũng

15 chủ đề

2610 bài viết

0