
Messenger Component
Message bus, handler, transport, tin nhắn bất đồng bộ, middleware, thử lại, tin nhắn thất bại
1Mục đích chính của component Messenger trong Symfony là gì?
Mục đích chính của component Messenger trong Symfony là gì?
Câu trả lời
Component Messenger cho phép dispatch tin nhắn đến các handler, theo cách đồng bộ hoặc bất đồng bộ thông qua các transport như RabbitMQ, Redis hoặc Doctrine. Nó giúp xây dựng các kiến trúc tách rời bằng cách tách việc phát tin nhắn khỏi việc xử lý, cải thiện khả năng mở rộng và bảo trì của ứng dụng.
2Làm thế nào để định nghĩa một tin nhắn trong Symfony Messenger?
Làm thế nào để định nghĩa một tin nhắn trong Symfony Messenger?
Câu trả lời
Một tin nhắn trong Symfony Messenger đơn giản chỉ là một lớp PHP thuần (POPO) chứa dữ liệu cần thiết cho việc xử lý. Không cần interface hay lớp cha nào. Quy ước là đặt tên tin nhắn với hậu tố mô tả như Notification hoặc Command, và làm cho chúng immutable bằng các thuộc tính readonly để đảm bảo tính toàn vẹn của dữ liệu.
3Làm thế nào để tạo một handler để xử lý tin nhắn trong Symfony Messenger?
Làm thế nào để tạo một handler để xử lý tin nhắn trong Symfony Messenger?
Câu trả lời
Một handler là một lớp với phương thức __invoke() nhận tin nhắn làm tham số. Attribute #[AsMessageHandler] tự động đăng ký handler. Symfony phát hiện loại tin nhắn cần xử lý thông qua type-hint của tham số. Cách tiếp cận này sử dụng autowiring và tránh mọi cấu hình thủ công trong services.yaml.
Cần inject interface nào để dispatch một message trong Symfony Messenger?
Envelope là gì trong ngữ cảnh của Symfony Messenger?
+19 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Symfony khác
PHP Hiện Đại (8.1+)
Kiến thức cơ bản về Symfony
Routing & Controllers
Twig & Templates
Kiến thức cơ bản về Doctrine ORM
Biểu mẫu Symfony
Xác thực dữ liệu
Dependency Injection & Services
Security & Authentication
Doctrine Nâng cao
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
HTTP Client
Cache & Hiệu năng
Workflow Component
Testing Symfony
Mailer Component
Bản dịch & i18n
EasyAdmin Bundle
Kiến trúc Symfony
Hiệu năng & Tối ưu hóa
Bảo mật nâng cao
Custom Bundle
Microservices với Symfony
Real-time & WebSockets
Deployment & DevOps
Nắm vững Symfony 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í