Laravel

Events & Listeners

Tạo Event, đăng ký Listener, dispatch Event, Event Subscriber, Listener trong queue, Broadcast Event

18 câu hỏi phỏng vấn·
Mid-Level
1

Event trong Laravel là gì?

Câu trả lời

Event là một class biểu diễn một hành động hoặc sự kiện quan trọng đã xảy ra trong ứng dụng. Nó đóng vai trò như một thông điệp mang dữ liệu, có thể được dispatch và được lắng nghe bởi nhiều Listener theo cách tách rời (decoupled). Event giúp tuân thủ nguyên tắc Open/Closed bằng cách thêm hành vi mà không cần sửa đổi code hiện có.

2

Làm thế nào để tạo một Event và Listener liên quan với Artisan?

Câu trả lời

Lệnh 'php artisan make:event' tạo một Event, và 'php artisan make:listener' tạo một Listener. Khi thêm tùy chọn --event=EventName, Listener sẽ tự động được định kiểu để nhận Event đó. Cũng có thể định nghĩa mapping trong EventServiceProvider rồi chạy 'php artisan event:generate' để tự động sinh ra tất cả Event và Listener còn thiếu.

3

Đăng ký mapping giữa Event và Listener ở đâu trong Laravel?

Câu trả lời

Việc mapping Event-Listener được thực hiện trong thuộc tính $listen của EventServiceProvider (App\Providers\EventServiceProvider). Mỗi key là tên đầy đủ (fully qualified) của class Event, và value là một mảng các Listener. Từ Laravel 11, cũng có thể dùng auto-discovery với thuộc tính PHP 8 #[ListensTo] để tránh phải đăng ký thủ công.

4

Làm thế nào để dispatch (kích hoạt) một Event trong Laravel?

5

Cấu trúc cơ bản của một Listener trong Laravel là gì?

+15 câu hỏi phỏng vấn

Nắm vững Laravel cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí