この記事では、Zend Framework アクション アシスタント リダイレクターの使用例について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
リダイレクターは、プログラムが内部または外部ページにリダイレクトするのに役立つ別の実装メソッドを提供します。
リダイレクター ヘルパーを使用すると、リダイレクター オブジェクト ヘルパーを使用して新しい URL にリダイレクトできます。 _redirect() メソッドに比べて、いくつかの利点があります。たとえば、リダイレクター オブジェクトでサイト全体の動作を事前に設定したり、Zend_Controller_Action::_forward() と同様の gotoSimple($action, $controller, $module, $params) インターフェイスを使用したりできます。
リダイレクタには、リダイレクト動作に影響を与えるメソッドが多数あります:
setCode() は、リダイレクト中に使用される HTTP 応答コードを設定します。setExit() は、リダイレクト後に exit() メソッドを強制的に実行します。デフォルトで設定されています。
setGotoSimple() はデフォルトの URL を設定し、gotoSimple() メソッドにパラメータが指定されていない場合はこの URL にリダイレクトします。 Zend_Controller_Action::_forward() に似た API を使用できます: setGotoSimple($action, $controller = null, $module = null, array $params = array());
setGotoRoute() は、登録されたルーターに基づいて URL を設定します。キー/値の配列とルーター名を渡すことにより、ルーターのタイプと定義に基づいて URL が整理されます。
setGotoUrl() はデフォルトの URL を設定します。パラメータが gotoUrl() に渡されない場合、この URL が使用されます。単一の URL 文字列を受け入れます。
setPrependBase() は、setGotoUrl()、gotoUrl()、または gotoUrlAndExit() で指定された URL の前にリクエスト オブジェクトのベース URL を追加します。
setUseAbsoluteUri() は、リダイレクト時にリダイレクターに絶対 URI の使用を強制します。このオプションを設定すると、$_SERVER['HTTP_HOST']、$_SERVER['SERVER_PORT']、$_SERVER['HTTPS']、およびリダイレクト メソッドで指定された URL が完全な URI の形成に使用されます。このオプションは現在デフォルトでオフになっていますが、将来のリリースではデフォルトでオンになる可能性があります。
さらに、リダイレクターには実際のリダイレクトを実行するためのメソッドがたくさんあります 。
gotoSimple() は、setGotoSimple() (_forward() に似た API) を使用して URL を構築し、リダイレクトを実行します。gotoRoute() は setGotoRoute() (ルート アセンブリ ルートアセンブリ) を使用して URL を構築し、リダイレクトを実行します。
gotoUrl() は setGotoUrl() URL 文字列) を使用して URL を構築し、リダイレクトを実行します。
最後に、getRedirectUrl() を使用していつでも現在のリダイレクト URL を確認できます。
基本的な使用例
例 #5 オプションの設定この例では、303 にリダイレクトするときに使用される HTTP ステータス コードの設定、リダイレクト時にデフォルトで終了しない、リダイレクトのデフォルト URL の定義など、いくつかのオプションを変更します。
リーリー
例 #6 デフォルト設定を使用するこの例はデフォルト設定を前提としています。つまり、リダイレクトは即時に終了します。
リーリー
例7 goto() の _forward()API の使用gotoSimple() の API は Zend_Controller_Action::_forward() をシミュレートします。主な違いは、デフォルト ルーターのデフォルト形式 module/:controller/:action/* を使用して、渡されたパラメーターから URL を構築することです。次に、アクション チェーン ループを続行する代わりにリダイレクトします。
リーリー
例8 gotoRoute() によるルートアセンブリの使用次の例では、ルーターの Assembly() メソッドを使用して、渡されたパラメーターの連想配列に基づいて URL を作成します。以下のルートがすでに登録されているものとします:
リーリー
配列を指定すると、年は 2006、月は 4、日付は 24、ID は 42 となり、これに基づいて URL/blog/2006/4/24/42 を組み立てることができます。リーリー
Zend_Controller_Action_Helper_Redirector ソース コード。ソースコードを通して実装方法や一般的な使用方法を確認することは難しくありません。
リーリー
さらに Zend 関連のコンテンツに興味のある読者は、このサイトの特別トピックをチェックしてください: "Zend FrameWork Framework 入門チュートリアル"、"php 優れた開発フレームワークの概要"、"Yii Framework Getting Started and Summary of Common Techniques"、" ThinkPHP入門チュートリアル』、『PHPオブジェクト指向プログラミング入門チュートリアル』、『php+mysqlデータベース操作入門チュートリアル』、『php共通データベース操作スキルまとめ』この記事が PHP プログラミングのすべての人に役立つことを願っています。
興味がありそうな記事: