# Events & Listeners (Laravel) > การสร้าง Event การลงทะเบียน Listener การ dispatch Event, Event Subscriber, Listener ที่อยู่ใน queue และ Broadcast Event - 18 คำถามสัมภาษณ์ - Mid-Level - [คำถามสัมภาษณ์: Laravel](https://sharpskill.dev/th/technologies/laravel/interview-questions.md) ## 1. Event ใน Laravel คืออะไร? **คำตอบ** Event คือคลาสที่แทนการกระทำหรือเหตุการณ์สำคัญที่เกิดขึ้นในแอปพลิเคชัน ทำหน้าที่เป็นข้อความที่พกพาข้อมูล ซึ่งสามารถ dispatch และถูกรับฟังโดย Listener หลายตัวในรูปแบบที่แยกส่วนกัน (decoupled) Event ช่วยให้ปฏิบัติตามหลักการ Open/Closed โดยเพิ่มพฤติกรรมใหม่ได้โดยไม่ต้องแก้ไขโค้ดเดิม ## 2. จะสร้าง Event และ Listener ที่เกี่ยวข้องด้วย Artisan ได้อย่างไร? **คำตอบ** คำสั่ง 'php artisan make:event' จะสร้าง Event และ 'php artisan make:listener' จะสร้าง Listener เมื่อเพิ่มตัวเลือก --event=EventName นั้น Listener จะถูกกำหนดชนิด (type) โดยอัตโนมัติให้รับ Event นั้น นอกจากนี้ยังสามารถกำหนด mapping ใน EventServiceProvider แล้วรัน 'php artisan event:generate' เพื่อสร้าง Event และ Listener ที่ขาดหายไปทั้งหมดโดยอัตโนมัติ ## 3. ในการลงทะเบียน mapping ระหว่าง Event และ Listener ใน Laravel ควรทำที่ไหน? **คำตอบ** การ mapping Event-Listener ทำในพร็อพเพอร์ตี้ $listen ของ EventServiceProvider (App\Providers\EventServiceProvider) โดยแต่ละ key คือชื่อเต็ม (fully qualified) ของคลาส Event และ value คืออาเรย์ของ Listener ตั้งแต่ Laravel 11 ยังสามารถใช้ auto-discovery ด้วยแอตทริบิวต์ PHP 8 #[ListensTo] เพื่อหลีกเลี่ยงการลงทะเบียนแบบ manual ได้ ## มีอีก 15 คำถาม - จะ dispatch (เรียกใช้งาน) Event ใน Laravel ได้อย่างไร? - โครงสร้างพื้นฐานของ Listener ใน Laravel เป็นอย่างไร? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Laravel อื่นๆ - [พื้นฐาน PHP](https://sharpskill.dev/th/technologies/laravel/interview-questions/php-basics.md): 25 คำถาม, Junior - [พื้นฐาน OOP ใน PHP](https://sharpskill.dev/th/technologies/laravel/interview-questions/php-oop-essentials.md): 20 คำถาม, Junior - [Composer & Autoloading](https://sharpskill.dev/th/technologies/laravel/interview-questions/composer-autoloading.md): 18 คำถาม, Junior - [พื้นฐาน Laravel](https://sharpskill.dev/th/technologies/laravel/interview-questions/laravel-fundamentals.md): 20 คำถาม, Junior - [Laravel Routing](https://sharpskill.dev/th/technologies/laravel/interview-questions/laravel-routing.md): 20 คำถาม, Junior - [Blade Templates](https://sharpskill.dev/th/technologies/laravel/interview-questions/blade-templates.md): 18 คำถาม, Junior - [Request & Response](https://sharpskill.dev/th/technologies/laravel/interview-questions/request-response.md): 20 คำถาม, Junior - [พื้นฐาน Eloquent ORM](https://sharpskill.dev/th/technologies/laravel/interview-questions/eloquent-orm-basics.md): 22 คำถาม, Junior - [Eloquent Relationships](https://sharpskill.dev/th/technologies/laravel/interview-questions/eloquent-relationships.md): 25 คำถาม, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/th/technologies/laravel/interview-questions/database-migrations.md): 20 คำถาม, Mid-Level - [การตรวจสอบและฟอร์ม](https://sharpskill.dev/th/technologies/laravel/interview-questions/validation-forms.md): 22 คำถาม, Mid-Level - [การยืนยันตัวตน](https://sharpskill.dev/th/technologies/laravel/interview-questions/authentication.md): 20 คำถาม, Mid-Level - [การให้สิทธิ์และ Policies](https://sharpskill.dev/th/technologies/laravel/interview-questions/authorization-policies.md): 18 คำถาม, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/th/technologies/laravel/interview-questions/api-resources-authentication.md): 26 คำถาม, Mid-Level - [Middleware](https://sharpskill.dev/th/technologies/laravel/interview-questions/middleware.md): 18 คำถาม, Mid-Level - [Service Container & DI](https://sharpskill.dev/th/technologies/laravel/interview-questions/service-container-di.md): 20 คำถาม, Mid-Level - [Queues & Jobs](https://sharpskill.dev/th/technologies/laravel/interview-questions/queues-jobs.md): 22 คำถาม, Mid-Level - [การแจ้งเตือนและเมล](https://sharpskill.dev/th/technologies/laravel/interview-questions/notifications-mail.md): 20 คำถาม, Mid-Level - [File Storage](https://sharpskill.dev/th/technologies/laravel/interview-questions/file-storage.md): 18 คำถาม, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/th/technologies/laravel/interview-questions/testing-phpunit.md): 24 คำถาม, Mid-Level - [Caching](https://sharpskill.dev/th/technologies/laravel/interview-questions/caching.md): 18 คำถาม, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/th/technologies/laravel/interview-questions/livewire-inertia.md): 20 คำถาม, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/th/technologies/laravel/interview-questions/eloquent-advanced.md): 24 คำถาม, Senior - [Repository Pattern](https://sharpskill.dev/th/technologies/laravel/interview-questions/repository-pattern.md): 20 คำถาม, Senior - [Laravel Packages](https://sharpskill.dev/th/technologies/laravel/interview-questions/laravel-packages.md): 20 คำถาม, Senior - [Performance Optimization](https://sharpskill.dev/th/technologies/laravel/interview-questions/performance-optimization.md): 22 คำถาม, Senior - [Security Best Practices](https://sharpskill.dev/th/technologies/laravel/interview-questions/security-best-practices.md): 22 คำถาม, Senior - [Laravel Octane](https://sharpskill.dev/th/technologies/laravel/interview-questions/laravel-octane.md): 18 คำถาม, Senior - [Laravel Distributed Systems](https://sharpskill.dev/th/technologies/laravel/interview-questions/laravel-distributed-systems.md): 22 คำถาม, Senior - [Observability & Monitoring](https://sharpskill.dev/th/technologies/laravel/interview-questions/observability-monitoring.md): 20 คำถาม, Senior - [Deployment & DevOps](https://sharpskill.dev/th/technologies/laravel/interview-questions/deployment-devops.md): 20 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/laravel/interview-questions/events-listeners