
Events & Listeners
การสร้าง Event การลงทะเบียน Listener การ dispatch Event, Event Subscriber, Listener ที่อยู่ใน queue และ Broadcast Event
1Event ใน Laravel คืออะไร?
Event ใน Laravel คืออะไร?
คำตอบ
Event คือคลาสที่แทนการกระทำหรือเหตุการณ์สำคัญที่เกิดขึ้นในแอปพลิเคชัน ทำหน้าที่เป็นข้อความที่พกพาข้อมูล ซึ่งสามารถ dispatch และถูกรับฟังโดย Listener หลายตัวในรูปแบบที่แยกส่วนกัน (decoupled) Event ช่วยให้ปฏิบัติตามหลักการ Open/Closed โดยเพิ่มพฤติกรรมใหม่ได้โดยไม่ต้องแก้ไขโค้ดเดิม
2จะสร้าง Event และ Listener ที่เกี่ยวข้องด้วย Artisan ได้อย่างไร?
จะสร้าง 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 ใน Laravel ควรทำที่ไหน?
คำตอบ
การ mapping Event-Listener ทำในพร็อพเพอร์ตี้ $listen ของ EventServiceProvider (App\Providers\EventServiceProvider) โดยแต่ละ key คือชื่อเต็ม (fully qualified) ของคลาส Event และ value คืออาเรย์ของ Listener ตั้งแต่ Laravel 11 ยังสามารถใช้ auto-discovery ด้วยแอตทริบิวต์ PHP 8 #[ListensTo] เพื่อหลีกเลี่ยงการลงทะเบียนแบบ manual ได้
จะ dispatch (เรียกใช้งาน) Event ใน Laravel ได้อย่างไร?
โครงสร้างพื้นฐานของ Listener ใน Laravel เป็นอย่างไร?
+15 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Laravel อื่นๆ
พื้นฐาน PHP
พื้นฐาน OOP ใน PHP
Composer & Autoloading
พื้นฐาน Laravel
Laravel Routing
Blade Templates
Request & Response
พื้นฐาน Eloquent ORM
Eloquent Relationships
Migrations & Schema Builder
การตรวจสอบและฟอร์ม
การยืนยันตัวตน
การให้สิทธิ์และ Policies
API Resources & Authentication
Middleware
Service Container & DI
Queues & Jobs
การแจ้งเตือนและเมล
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
เชี่ยวชาญ Laravel สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี