# Events & Listeners (Laravel) > 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 - [Câu hỏi phỏng vấn: Laravel](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van.md) ## 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. ## Còn 15 câu hỏi nữa - 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ì? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Laravel khác - [Cơ bản về PHP](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/php-basics.md): 25 câu hỏi, Junior - [Kiến thức cơ bản về OOP trong PHP](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/php-oop-essentials.md): 20 câu hỏi, Junior - [Composer & Autoloading](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/composer-autoloading.md): 18 câu hỏi, Junior - [Kiến thức cơ bản về Laravel](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-fundamentals.md): 20 câu hỏi, Junior - [Routing trong Laravel](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-routing.md): 20 câu hỏi, Junior - [Blade Templates](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/blade-templates.md): 18 câu hỏi, Junior - [Request & Response](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/request-response.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Eloquent ORM](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/eloquent-orm-basics.md): 22 câu hỏi, Junior - [Eloquent Relationships](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/eloquent-relationships.md): 25 câu hỏi, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/database-migrations.md): 20 câu hỏi, Mid-Level - [Xác thực và Form](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/validation-forms.md): 22 câu hỏi, Mid-Level - [Xác thực](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/authentication.md): 20 câu hỏi, Mid-Level - [Phân quyền và Policies](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/authorization-policies.md): 18 câu hỏi, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/api-resources-authentication.md): 26 câu hỏi, Mid-Level - [Middleware](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/middleware.md): 18 câu hỏi, Mid-Level - [Service Container & DI](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/service-container-di.md): 20 câu hỏi, Mid-Level - [Queues & Jobs](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/queues-jobs.md): 22 câu hỏi, Mid-Level - [Thông báo & Mail](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/notifications-mail.md): 20 câu hỏi, Mid-Level - [File Storage](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/file-storage.md): 18 câu hỏi, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/testing-phpunit.md): 24 câu hỏi, Mid-Level - [Caching](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/caching.md): 18 câu hỏi, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/livewire-inertia.md): 20 câu hỏi, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/eloquent-advanced.md): 24 câu hỏi, Senior - [Repository Pattern](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/repository-pattern.md): 20 câu hỏi, Senior - [Laravel Packages](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-packages.md): 20 câu hỏi, Senior - [Performance Optimization](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Security Best Practices](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/security-best-practices.md): 22 câu hỏi, Senior - [Laravel Octane](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-octane.md): 18 câu hỏi, Senior - [Laravel Distributed Systems](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-distributed-systems.md): 22 câu hỏi, Senior - [Observability & Monitoring](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/observability-monitoring.md): 20 câu hỏi, Senior - [Deployment & DevOps](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/deployment-devops.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/events-listeners