Nâng CaoLaravel iconLaravel

Facade pattern trong Laravel là gì?

Facade cung cấp giao diện giống static đến các service trong container. Auth::user() gọi authentication service bên dưới theo kiểu static. Các facade khác: DB::table(), Cache::get(), Mail::send(). Bên dưới: facade Auth resolve thành \Illuminate\Auth\AuthManager từ container.

Ưu điểm: cú pháp static tiện lợi, vẫn có thể inject dependency, ý định rõ ràng, dễ mock trong test. Thay vì inject AuthManager khắp nơi, dùng Auth::user(). Tạo custom facade: extend class Facade và định nghĩa getFacadeAccessor() trả về key trong container. Facade cân bằng sự tiện lợi với lợi ích của dependency injection.

Xem toàn bộ Laravel cùng filter theo level & chủ đề con.

Mở danh sách Laravel