路由是乙個過程,在這個過程中它去除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...