Cấu trúc xử lý của Laravel

Luồng xử lý của Laravel

Trước khi bắt đầu tìm hiểu các thành phần có trong Laravel, chúng ta cần hiểu cách làm việc của Laravel như thế nào.
Hình dưới đây sẽ cho chúng ta hiểu khái quát cách hoạt động của Laravel, vì đây là cấu trúc cơ bản nên tất nhiên chưa đầy đủ.

Cấu trúc Laravel

Folder / File Mô tả
User User gửi yêu cầu.
Routing

Yêu cầu từ User sẽ được Routing điều hướng:

  • Tới Controller để xử lý yêu cầu.
  • Tới Middleware để kiểm tra điều hướng cần thiết.
  • Tới thẳng View nếu không cần xử lý.
Middleware Middleware có thể xem như bộ lọc HTTP từ request, VD như dùng để kiểm tra, xác thực người dùng đăng nhập vào hệ thống. Sau khi kiểm tra, xác thực xong sẽ trả về Controller để tiếp tục xử lý.
Controller

Controller được xem như trung tâm điều khiển của hệ thống, tất cả thao tác xử lý nên được thực hiện ở đây.

  • Controller kết nối với Database thông qua điều khiển từ Model. Hoặc có thể thao tác trực tiếp tới Database thông qua các Query Builder
  • Kết quả xử lý sẽ được trả về view.
Model Khi có yêu cầu từ Controller, Model sẽ tương tác với Database và trả kết quả về Controller, một số trường hợp cần thiết thì Model cũng có thể trả thẳng kết quả về View.
Database Lưu trữ và chứa dữ liệu.
Migration & Seeding
  • Migration, được dùng để tạo Database.
  • Seeding, được dùng để tạo dữ liệu ảo cho Database.
Query Builder Câu truy vấn Database.
View View nhận dữ liệu xử lý từ Controller (hoặc Model, Routing), hiển thị kết quả cho người dùng.