MVC PHP NÂNG CAO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

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

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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:

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.

Cùng chuyên mục:

Hàm key_exists() trong PHP

Hàm key_exists() trong PHP

Cách sử dụng key_exists() trong PHP

Hàm mysqli_fetch_row() trong PHP

Hàm mysqli_fetch_row() trong PHP

Cách sử dụng mysqli_fetch_row() trong PHP

Hàm end() trong PHP

Hàm end() trong PHP

Cách sử dụng end() trong PHP

Hàm mysqli_field_count() trong PHP

Hàm mysqli_field_count() trong PHP

Cách sử dụng mysqli_field_count() trong PHP

Hàm count() trong PHP

Hàm count() trong PHP

Cách sử dụng count() trong PHP

Hàm mysqli_field_seek() trong PHP

Hàm mysqli_field_seek() trong PHP

Cách sử dụng mysqli_field_seek() trong PHP

Hàm compact() trong PHP

Hàm compact() trong PHP

Cách sử dụng compact() trong PHP

Hàm mysqli_field_tell() trong PHP

Hàm mysqli_field_tell() trong PHP

Cách sử dụng mysqli_field_tell() trong PHP

Hàm array_values() trong PHP

Hàm array_values() trong PHP

Cách sử dụng array_values() trong PHP

Hàm mysqli_free_result() trong PHP

Hàm mysqli_free_result() trong PHP

Cách sử dụng mysqli_free_result() trong PHP

Hàm array_unshift() trong PHP

Hàm array_unshift() trong PHP

Cách sử dụng array_unshift() trong PHP

Hàm mysqli_get_charset() trong PHP

Hàm mysqli_get_charset() trong PHP

Cách sử dụng mysqli_get_charset() trong PHP

Hàm array_shift() trong PHP

Hàm array_shift() trong PHP

Cách sử dụng array_shift() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Cách sử dụng mysqli_get_client_stats() trong PHP

Hàm array_unique() trong PHP

Hàm array_unique() trong PHP

Cách sử dụng array_unique() trong PHP

Hàm mysqli_get_client_version() trong PHP

Hàm mysqli_get_client_version() trong PHP

Cách sử dụng mysqli_get_client_version() trong PHP

Hàm array_uintesect() trong PHP

Hàm array_uintesect() trong PHP

Cách sử dụng array_uintesect() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Cách sử dụng mysqli_get_connection_stats() trong PHP

Hàm array_sum() trong PHP

Hàm array_sum() trong PHP

Cách sử dụng array_sum() trong PHP

Hàm mysqli_get_host_info() trong PHP

Hàm mysqli_get_host_info() trong PHP

Cách sử dụng mysqli_get_host_info() trong PHP

Top