Zend Framework路由器用法例項詳解

2022-09-28 14:00:15 字數 2091 閱讀 7401

路由是乙個過程,在這個過程中它去除uri的端點(跟著基本url的uri部分),並將其分解成引數來決定哪個模組、哪個控制器和哪個動作應該接受請求。

模組、控制器、動作、及其引數被打包到zend_controller_request_http物件。

使用路由器

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

建立路由器可以通過前端控制器例項的getrouter()方法來實現。該方法不需要任何引數,執行該方法可以返回乙個zend_controller_router_rewrhialqaite物件。

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

**:<

/**演示建立路由器的過程

*/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);

上述路由將匹配的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);

分析:正規表示式路由定義的第乙個引數中的動態部分(「/」後的內容)不再是乙個變數,而是乙個正則子模式。

在該例中,成功匹配之後,會返回如下結果值的陣列。

$values = array(

1=>'2008',

'controller'=>'archive',

'action'=>'show'

);程式設計客棧

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

zend framework學習小結

zend framework是mvc模式的一種實現,要快速的入門差不多只看zend controller zend view 部分就可以了吧。1.zend controller部分。最重要的類是zend controller front.使用它的經典 這部分是包含在index。php中的。在正確的配...

zend framework學習小結

zend framework是mvc模式的一種實現,要快速的入門差不多只看zend controller zend view 部分就可以了吧。1.zend controller部分。最重要的類是zend controller front.使用它的經典 很 簡單 這部分是包含在index。php中的。...

zend framework常用元件

zend acl 許可權控制 zend auth 主要用於認證 zend cache 為應用程式提供快取支援 zend config 應用程式的配置資料引數 zend db 提供zend framework 與mysql的資料庫操作方式 zend layout 實現應用程式的試圖布局 zend ma...