ホームページ  >  記事  >  バックエンド開発  >  Zend Framework アクションアシスタント Redirector の使用例を詳しく解説、zendredirector_PHP チュートリアル

Zend Framework アクションアシスタント Redirector の使用例を詳しく解説、zendredirector_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:57:371193ブラウズ

Zend Framework アクション アシスタント リダイレクターの使用例詳細説明、zendredirector

この記事では、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 プログラミングのすべての人に役立つことを願っています。

興味がありそうな記事:

    Zend Framework チュートリアルでの MVC フレームワークのコントローラー使用状況の分析
  • Zend_Controller_Router 関数ごとに詳細に説明された Zend Framework チュートリアル
  • Zend Framework チュートリアル Zend_Controller_Plugin プラグインの使用方法の詳細な説明
  • Zend Frameworkレスポンスオブジェクトのチュートリアル Zend_Controller_Response インスタンスのカプセル化の詳細説明
  • Zend Framework チュートリアル リクエストオブジェクトのカプセル化の詳細説明 Zend_Controller_Request インスタンスの詳細説明
  • Zend Framework チュートリアル 基本クラス Zend_Controller_Action の詳細説明
  • Zend Framework チュートリアル ディスパッチャー Zend_Controller_Dispatcher の使用方法の詳細説明
  • Z終わりフレームワークチュートリアル フロントエンドコントローラー Zend _Controller_Front 使用方法の詳細説明
  • Zend Framework Action Assistant URL の使用方法の詳細説明
  • Zend Framework Action Assistant Json 使用例分析
  • Zend Framework Action Assistant FlashMessenger の使用方法の詳細説明
  • Resource Autoloading 使用例Zend Framework チュートリアルの説明

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1106897.html技術記事 Zend Framework アクション アシスタント リダイレクター、zendredirector の使用例を詳しく解説 この記事では、Zend Framework アクション アシスタント リダイレクターの使用例について説明します。参考のために皆さんと共有してください。詳細は次のとおりです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。