Symfony

Messenger Component

Message bus、handler、transport、非同期メッセージ、middleware、リトライ、失敗したメッセージ

22 面接問題·
Mid-Level
1

Symfony における Messenger コンポーネントの主な目的は何ですか?

回答

Messenger コンポーネントは、RabbitMQ、Redis、Doctrine などの transport を介して、同期または非同期でメッセージを handler に dispatch できます。メッセージの送出と処理を分離することで疎結合なアーキテクチャの構築を容易にし、アプリケーションのスケーラビリティと保守性を向上させます。

2

Symfony Messenger でメッセージをどのように定義しますか?

回答

Symfony Messenger におけるメッセージは、処理に必要なデータを保持する単なる素の PHP クラス (POPO) です。インターフェースや親クラスは一切必要ありません。慣例として、メッセージには Notification や Command といった説明的なサフィックスを付け、readonly プロパティで immutable にしてデータの整合性を保証します。

3

Symfony Messenger でメッセージを処理する handler をどのように作成しますか?

回答

handler は、メッセージをパラメータとして受け取る __invoke() メソッドを持つクラスです。#[AsMessageHandler] 属性により handler が自動的に登録されます。Symfony はパラメータの type-hint によって処理すべきメッセージの型を検出します。このアプローチは autowiring を利用し、services.yaml での手動設定を不要にします。

4

Symfony Messenger でメッセージを dispatch するには、どのインターフェースを注入する必要がありますか?

5

Symfony Messenger における Envelope とは何ですか?

+19 面接問題

次の面接に向けてSymfonyをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める