亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 php教程 PHP開發(fā) Zend Framework路由器用法實例詳解

Zend Framework路由器用法實例詳解

Jan 06, 2017 am 09:48 AM

本文實例講述了Zend Framework路由器用法。分享給大家供大家參考,具體如下:

路由是一個過程,在這個過程中它去除URI的端點(跟著基本URL的URI部分),並將其分解成參數(shù)來決定哪個模組、哪個控制器和哪個動作應(yīng)該接受請求。

模組、控制器、動作、及其參數(shù)被打包到Zend_Controller_Request_Http物件。

使用路由器

為了正確使用路由器,必須對其進行初始化操作。

建立路由器可以透過前端控制器實例的getRouter()方法來實現(xiàn)。此方法不需要任何參數(shù),執(zhí)行該方法可以傳回一個Zend_Controller_Router_Rewrite物件。

建立路由器之後,需要新增一些使用者定義的路由,該操作可以透過Zend_Controller_Router_Rewrite物件的addRoute()方法來實現(xiàn)。

程式碼:

<?php
/**
演示創(chuàng)建路由器的過程
*/
require_once &#39;Zend/Controller/Front.php&#39;;    //引用Zend_Controller_Front.php
$ctrl = Zend_Controller_Front::getInstance();  //創(chuàng)建一個前端控制器
$router = $ctrl->getRouter();          //返回一個默認路由,前端控制器功能很強大啊
$router->addRoute(&#39;user&#39;,new Zend_Controller_Router_Route(&#39;user/:username&#39;,array(&#39;controller&#39;=>&#39;user&#39;,&#39;action&#39;=>&#39;info&#39;)));

? ?

4種基本路由

1.缺省路由

定義:TourendControl 是儲存在RewriteRouter中名為「預(yù)設(shè)值」的簡單預(yù)設(shè)值。

2.標準框架路由

定義:Zend_Controller_Router_Route是標準的框架路由。

例子:

<?php
//定義標準框架路由
$route = new Zend_Controller_Router_Route(&#39;author/:username&#39;,
array(
  &#39;controller&#39;=>&#39;profile&#39;,
  &#39;action&#39;=>&#39;userinfo&#39;
));
//向路由器中添加定義的路由
$router->addRoute(&#39;user&#39;,$route);

? ?

註:我表示我很暈,日誌不好碼啊,自己都不太懂。

3.靜態(tài)路由

定義:特定的路由被設(shè)定成型Zend_Controller_Router_Route_Static。

範例:

<?php
//定義靜態(tài)路由
$route = new Zend_Controller_Router_Route_Static(
&#39;login&#39;,
array(
  &#39;controller&#39;=>&#39;auth&#39;,
  &#39;action&#39;=>&#39;login&#39;
));
//向路由器中添加定義的路由
$router->addRoute(&#39;login&#39;,$route);

? ?

上述路由將符合http://domain.com/login的URL,分派到AuthController::loginAction()方法中。

4.正規(guī)表示式路由

Zend_Controller_Router_Route_Regex

案例:

<?php
//正則表達式路由
$route = new Zend_Controller_Router_Route_Regex(
  &#39;archive/(\d+)&#39;,
  array(
    &#39;controller&#39;=>&#39;archive&#39;,
    &#39;action&#39;=>&#39;show&#39;
  ));
//向路由器中添加定義的路由
$router->addRoute(&#39;archive&#39;,$route);

? ?

分析是一個變量,而是一個正則子模式。

在該例中,成功符合http://domain.com/archive/2008之後,會傳回如下結(jié)果值的陣列。

$values = array(
1=>&#39;2008&#39;,
&#39;controller&#39;=>&#39;archive&#39;,
&#39;action&#39;=>&#39;show&#39;
);

? ?

後記:

我表示概念太多,很吃力。

希望本文所述對大家基於Zend Framework框架的PHP程式設(shè)計有所幫助。

更多Zend Framework路由器用法實例詳解相關(guān)文章請關(guān)注PHP中文網(wǎng)!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應(yīng)的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72