6

ZF2 ドキュメントでは、代替レンダリングと応答戦略の作成と登録について説明しています。私はそれを読みましたが、戦略の使い方がよくわかりません。

HTTP ヘッダーの受け入れに応じて、3 種類の出力 (JSON、XML、および HTML) を出荷する必要があるアプリケーションがあります。この場合の戦略をどのように使用できますか?

4

1 に答える 1

5

Zend Framework 2 での戦略の大まかな概念は、MVC アプリケーション サイクル中にイベントがトリガーされたときにアプリケーションが従うべき動作であり、実際にはイベント ドリブンです。

より実用的な用語では、戦略は基本的にイベント リスナーであり、通常は の具体的なインスタンスであり、通常はやなどのさまざまなイベント\Zend\EventManager\AbstractListenerAggregateをリッスンします。\Zend\Mvc\MvcEventEVENT_RENDEREVENT_RENDER_ERROR

リスナーは にアタッチされ、前述の\Zend\EventManager\EventManagerを使用し\Zend\Mvc\MvcEventて MVC サイクルのすべての基本的なリソース (ルーター、要求、応答、アプリケーション自体など) にアクセスすると、リスナーはアプリケーションのステータスを検査し、そのフローを変更できます。

ZF2 の公式ドキュメントで提供されている例では、リスナーはリクエストの受け入れヘッダーを検査し、レンダラーを選択して、それに応じてレスポンスを変更します。

ただし、少し古いので、フレームワークによって提供される主要な戦略のコードを読んで、より良い例をいくつか見て、404 エラー ページのレンダリングを\Zend\Mvc\View\Http\RouteNotFoundStrategyリッスンしEVENT_DISPATCHて処理することをお勧めします。EVENT_DISPATCH_ERROR

また、全体がどのように機能するかを理解することも非常に重要ですEventManager。そのための公式ドキュメントは非常に優れており、さらに、グーグルで検索すると、それに関する多くの情報があります。

于 2013-07-25T16:11:07.647 に答える