Dự án 1 lập trình web fpt polytechnic
Phát hành: 22/2/2024

Bạn có đang gặp khó trong quá trình làm dự án 1 tại cao đẳng FPT ?
Full source code liên hệ mình
Chắc chắn bài viết này dành cho bạn, trong bài này mình sẽ hướng dẫn các bạn cấu trúc thư mục dự án, tổ chức code tái sự dụng để dự án 1 trở lên nhàn nhất có thể.
Cấu trúc thư mục
- File 
index.phpfile gốc tập trung các file cần thiết - File 
routes.phplữu các tuyến đường của trang người dùng - File 
utils.phpchứa các function sử dụng nhiều nơi như uploadImage - File 
core.phpchức các function chính tạo nên website - File 
config.phpchứa các cấu hình như VN_Pay - Folder 
viewschưa giao diện người dùng và quản trị - Folder 
controllerschứa function tương tác với models rồi trả về view - Folder 
modelschứa các function tương tác với database - Folder 
databasekết nối database và function tương tác tái sử dụng - Folder 
adminnhư 1 tuyến đường cho nhà quản trị, nó cũng có fileindex.phpvàrouter.php - Folder 
assetchưa js, css, image - Folder 
PHPMailerthư viện gửi mail 
Tổng quan mô hình MVC
Nếu bạn chưa biết đến mô hình MVC thì có thể là khó hiểu nhưng đừng lo, bạn có thể đọc tài liệu trên google, để mình giới thiệu qua về mô hình MVC.
MCV viết tắt của Module Controller View, khi một website được chạy nơi tiếp nhận yêu cầu là controller nó sẽ tương tác với models, models là nơi tương tác với database từ đó lấy được dữ liệu kết hợp với view và trả view về cho người dùng.
Mô tả hoạt động
Tại file index.php mình sử dụng 1 vòng for để lặp qua mảng $routers thay vì khai báo từ cái như dự án mẫu mình làm như vậy sẽ nhanh và khai khai báo các tuyến đường các cũng nhẹ nhàng hơn.
Trong file core.php mình có function route khi gọi hàm này nó sẽ trả về cho mình 1 mảng
Mảng này có view thực chất là 1 function, path là đường dẫn, role phân quyền người dùng, khi khai báo nhiều tuyến đường sẽ được kết quả như sau.
Khi ta lặp qua mảng này nó khớp với path nào thì ta sẽ gọi view nó chính là 1 function và chạy vào controller, trong controller ta sẽ tương tác với models và trả về view thông qua fucntion view() trong file core.php hoặc viewAdmin() nếu là giao diện của trang quản trị.
Trong folder database dùng để kết nối đến database và chứa các function được tái sử dụng như getOne insert bởi vì models nào cũng có lấy 1 và tạo
  Để kế thừa được nó các cần biết về class trong folder models
  được khai báo các đối tượng sản phẩm, danh mục và kế thừa lại những function đó mà không cần khai báo lại.
Đối với hoạt động của trang quản trị cũng tượng tự.
Phần kết
Các tổ chức và tạo nên thư viện nó hơi lạ, vì đây là mình tự nghĩ ra và cũng tham khảo mô hình MVC, nếu bạn cảm thấy khó có thể dùng cách dự án mẫu tại đây.
Core projectĐừng quên là mình nhận hỗ trợ dự án 1 lập trình website và phát triển phần mềm
Chúc các bạn thành công !
Cảm ơn bạn ghé thăm
Có thể bạn sẽ thích
