Zend Frameworkルーターの使用例を詳しく解説
この記事の例では、Zend Framework ルーターの使用法について説明します。参考までに共有します。詳細は次のとおりです。
ルーティングは、URI のエンドポイント (ベース URL の URI 部分に続く) を削除し、それをパラメーターに分割して、どのモジュールがどのモジュールであるかを決定するプロセスです。コントローラーとどのアクションがリクエストを受け入れるか。
モジュール、コントローラー、アクション、およびそれらのパラメーターは Zend_Controller_Request_Http オブジェクトにパッケージ化されています。
ルーターの使用方法
ルーターを正しく使用するには、初期化する必要があります。
ルーターの作成は、フロントエンド コントローラー インスタンスの getRouter() メソッドを通じて実行できます。このメソッドにはパラメータは必要なく、このメソッドを実行すると Zend_Controller_Router_Rewrite オブジェクトを返すことができます。
ルーターを作成した後、いくつかのユーザー定義ルートを追加する必要があります。この操作は、Zend_Controller_Router_Rewrite オブジェクトの addRoute() メソッドを通じて実行できます。
コード:
<?php /** 演示创建路由器的过程 */ require_once 'Zend/Controller/Front.php'; //引用Zend_Controller_Front.php $ctrl = Zend_Controller_Front::getInstance(); //创建一个前端控制器 $router = $ctrl->getRouter(); //返回一个默认路由,前端控制器功能很强大啊 $router->addRoute('user',new Zend_Controller_Router_Route('user/:username',array('controller'=>'user','action'=>'info')));
4つの基本ルート
1. デフォルトルート
定義: デフォルトルートは、RewriteRouterに保存されている「default」という名前の単純なZend_Controller_Router_Route_Moduleオブジェクトです。
2. 標準フレームワーク ルート
定義: Zend_Controller_Router_Route は標準フレームワーク ルートです。
例:
<?php //定义标准框架路由 $route = new Zend_Controller_Router_Route('author/:username', array( 'controller'=>'profile', 'action'=>'userinfo' )); //向路由器中添加定义的路由 $router->addRoute('user',$route);
注: めまいがすると言いましたが、ログのコーディングは簡単ではなく、よく理解できません。
3. 静的ルーティング
定義: Zend_Controller_Router_Route_Static を形成するように特定のルートが設定されます。
例:
<?php //定义静态路由 $route = new Zend_Controller_Router_Route_Static( 'login', array( 'controller'=>'auth', 'action'=>'login' )); //向路由器中添加定义的路由 $router->addRoute('login',$route);
上記のルートは、http://domain.com/login の URL と一致し、それを AuthController::loginAction() メソッドにディスパッチします。
4. 正規表現ルーティング
Zend_Controller_Router_Route_Regex
ケース:
<?php //正则表达式路由 $route = new Zend_Controller_Router_Route_Regex( 'archive/(\d+)', array( 'controller'=>'archive', 'action'=>'show' )); //向路由器中添加定义的路由 $router->addRoute('archive',$route);
分析:
正規表現ルート定義の最初のパラメータの動的部分 (「/」以降の内容) は、変数ですが、通常のサブパターンです。
この例では、http://domain.com/archive/2008 との一致に成功すると、次の結果値の配列が返されます。
$values = array( 1=>'2008', 'controller'=>'archive', 'action'=>'show' );
追記:
コンセプトが多すぎて大変だと言いました。
この記事が、Zend Framework フレームワークに基づいた PHP プログラミングの皆様のお役に立てれば幸いです。
Zend Framework ルーターの使用例と関連記事の詳細については、PHP 中国語 Web サイトに注目してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)