
Events & Listeners
Tạo Event, đăng ký Listener, dispatch Event, Event Subscriber, Listener trong queue, Broadcast Event
1Event trong Laravel là gì?
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ó.
2Làm thế nào để tạo một Event và Listener liên quan với Artisan?
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?
Đă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.
Làm thế nào để dispatch (kích hoạt) một Event trong Laravel?
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
Các chủ đề phỏng vấn Laravel khác
Cơ bản về PHP
Kiến thức cơ bản về OOP trong PHP
Composer & Autoloading
Kiến thức cơ bản về Laravel
Routing trong Laravel
Blade Templates
Request & Response
Kiến thức cơ bản về Eloquent ORM
Eloquent Relationships
Migrations & Schema Builder
Xác thực và Form
Xác thực
Phân quyền và Policies
API Resources & Authentication
Middleware
Service Container & DI
Queues & Jobs
Thông báo & Mail
File Storage
Testing & PHPUnit
Caching
Livewire & Inertia
Eloquent Advanced
Repository Pattern
Laravel Packages
Performance Optimization
Security Best Practices
Laravel Octane
Laravel Distributed Systems
Observability & Monitoring
Deployment & DevOps
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í