
Messenger Component
Message bus, handler, transport, ข้อความแบบ async, middleware, การ retry, ข้อความที่ล้มเหลว
1จุดประสงค์หลักของ component Messenger ใน Symfony คืออะไร?
จุดประสงค์หลักของ component Messenger ใน Symfony คืออะไร?
คำตอบ
Component Messenger ช่วยให้สามารถ dispatch ข้อความไปยัง handler ได้ ทั้งแบบ synchronous หรือ asynchronous ผ่าน transport อย่าง RabbitMQ, Redis หรือ Doctrine มันช่วยให้สร้างสถาปัตยกรรมแบบ decoupled ได้ง่ายขึ้นโดยแยกการส่งข้อความออกจากการประมวลผล ซึ่งช่วยเพิ่ม scalability และความง่ายในการบำรุงรักษาแอปพลิเคชัน
2จะกำหนดข้อความใน Symfony Messenger ได้อย่างไร?
จะกำหนดข้อความใน Symfony Messenger ได้อย่างไร?
คำตอบ
ข้อความใน Symfony Messenger เป็นเพียงคลาส PHP ธรรมดา (POPO) ที่บรรจุข้อมูลที่จำเป็นสำหรับการประมวลผล โดยไม่ต้องใช้ interface หรือคลาสแม่ใด ๆ ตามธรรมเนียมจะตั้งชื่อข้อความด้วยคำต่อท้ายที่สื่อความหมาย เช่น Notification หรือ Command และทำให้เป็น immutable ด้วยพรอเพอร์ตี้ readonly เพื่อรับประกันความสมบูรณ์ของข้อมูล
3จะสร้าง handler เพื่อประมวลผลข้อความใน Symfony Messenger ได้อย่างไร?
จะสร้าง handler เพื่อประมวลผลข้อความใน Symfony Messenger ได้อย่างไร?
คำตอบ
handler คือคลาสที่มีเมธอด __invoke() ซึ่งรับข้อความเป็นพารามิเตอร์ แอตทริบิวต์ #[AsMessageHandler] จะลงทะเบียน handler โดยอัตโนมัติ Symfony จะตรวจจับชนิดของข้อความที่ต้องประมวลผลผ่าน type-hint ของพารามิเตอร์ แนวทางนี้ใช้ autowiring และหลีกเลี่ยงการตั้งค่าด้วยมือใน services.yaml
ควรอินเจกต์อินเทอร์เฟซใดเพื่อ dispatch ข้อความใน Symfony Messenger?
Envelope คืออะไรในบริบทของ Symfony Messenger?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Symfony อื่นๆ
PHP สมัยใหม่ (8.1+)
พื้นฐาน Symfony
Routing & Controllers
Twig & Templates
พื้นฐาน Doctrine ORM
ฟอร์ม Symfony
การตรวจสอบความถูกต้องของข้อมูล
Dependency Injection & Services
Security & Authentication
Doctrine ขั้นสูง
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
HTTP Client
Cache & ประสิทธิภาพ
Workflow Component
Testing Symfony
Mailer Component
การแปลและ i18n
EasyAdmin Bundle
สถาปัตยกรรม Symfony
ประสิทธิภาพและการเพิ่มประสิทธิภาพ
ความปลอดภัยขั้นสูง
Custom Bundles
Microservices ด้วย Symfony
Real-time & WebSockets
Deployment & DevOps
เชี่ยวชาญ Symfony สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี