© 2026 Laravel

Chain of Responsibility: Chuỗi xử lý Middleware

1 phút đọc
#design-patterns #php #laravel #middleware #architecture

Mục lục bài viết

Sử dụng các mục để điều hướng nhanh

#1. Ý tưởng

Bạn có một Request đi qua: Kiểm tra Auth -> Kiểm tra Spam -> Check CSRF -> Đến Controller. Thay vì viết 1 hàm dài, mỗi bước là 1 object độc lập.

#2. Cách Laravel vận hành

Laravel sử dụng Pipeline để thực hiện pattern này.

$pipeline->send($request)
    ->through([CheckAuth::class, CheckSpam::class])
    ->then($router);

#3. Bản chất

Mỗi handler giữ một tham chiếu tới “handler tiếp theo”. Nếu nó xử lý xong, nó gọi tiếp. Nếu không, nó chặn đứng yêu cầu (ví dụ: Auth lỗi -> trả về 401 ngay).

Bài viết liên quan

Design Pattern là gì?

Tìm hiểu Design Pattern là gì, cách hoạt động, sự khác biệt với thuật toán và phân loại 3 nhóm Design Pattern phổ biến trong lập trình.

4 phút đọc