Symfony

Messenger Component

Message bus, handler, transport, tin nhắn bất đồng bộ, middleware, thử lại, tin nhắn thất bại

22 câu hỏi phỏng vấn·
Mid-Level
1

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.

2

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.

3

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.

4

Cần inject interface nào để dispatch một message trong Symfony Messenger?

5

Envelope là gì trong ngữ cảnh của Symfony Messenger?

+19 câu hỏi phỏng vấn

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í