© 2026 Laravel

Laravel Fundamentals: Xây dựng nền tảng từ Request tới Response

3 phút đọc
#laravel #basics #mvc #request-lifecycle #middleware

Để trở thành chuyên gia Laravel, bạn không thể chỉ biết dùng câu lệnh, mà phải hiểu sâu cách Framework tổ chức.

#1. Request Lifecycle: Hành trình của dữ liệu

Mọi yêu cầu đều đi qua một hành trình logic chặt chẽ:

  1. Entry Point (public/index.php): Nạp Composer Autoloader và khởi tạo Illuminate\Foundation\Application.
  2. HTTP Kernel: Giai đoạn quan trọng, nơi Laravel nạp các Middleware toàn cục (như CheckForMaintenanceMode, TrimStrings, TrustProxies). Đây là nơi đầu tiên bạn có thể tác động vào Request.
  3. Routing & Dispatch: Dựa vào URL và Method, Laravel xác định route nào sẽ khớp. Sau đó, nó chạy thêm Route Middleware (ví dụ auth, throttle).
  4. Controller/Action: Business logic thực sự diễn ra ở đây.
  5. Response: Controller trả về một object Response hoặc View, đi ngược lại qua middleware, rồi tới tay người dùng.

#2. Kiến trúc MVC: Sự tách biệt trách nhiệm

  • Model: Không chỉ là lớp kết nối DB, nó là “thực thể” (Entity) chứa business logic (dùng Observer/Events nếu cần).
  • View: Được quản lý bởi Blade - một engine biên dịch template thành PHP thuần, giúp vừa nhanh vừa dễ đọc.
  • Controller: Chỉ nên là lớp trung gian, chịu trách nhiệm tiếp nhận input, gọi các Services/Actions, và trả về Response.

#3. Các trụ cột quan trọng

  • Routing: Hệ thống định tuyến không chỉ ánh xạ URL, mà còn hỗ trợ Route Model Binding, giúp code gọn hơn.
  • Validation: Hệ thống Laravel Validation tích hợp chặt chẽ với tầng DB. Sử dụng FormRequest giúp tách biệt logic validate, giúp Controller luôn “mỏng”.
  • Service Container: Là hệ thống IoC (Inversion of Control) cho phép bạn quản lý các class phụ thuộc.

#4.Câu hỏi nhanh

  • Q: Tại sao Middleware lại là phần quan trọng nhất khi nói về Lifecycle?
  • A: Vì nó cho phép bẻ gãy luồng request (ví dụ: block nếu chưa login) hoặc thay đổi dữ liệu trước khi đến Controller. Đó là điểm duy nhất để can thiệp vào request trước khi nó được xử lý.
  • Q: Middleware chạy trước chạy sau như thế nào?
  • A: Middleware chạy theo cơ chế “củ hành” (onion). Code trước $next($request) chạy khi request vào, code sau $next($request) chạy khi response đi ra.

#5. Kết luận

Laravel Fundamentals không chỉ là cú pháp, đó là sự hiểu biết về PipelineIoC. Hãy dành thời gian debug qua từng lớp của index.php để thấy ma thuật thực sự của Framework.

Bài viết liên quan