亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 擴展 > MVC > 正文

Zend的MVC機制使用分析(二)

2024-09-06 20:44:33
字體:
來源:轉載
供稿:網友

接著上面的一篇


把代碼貼上來

復制代碼 代碼如下:www.CuoXIn.com

$front = Zend_Controller_Front::getInstance();
Zend_Layout::startMvc(array('layoutPath' => USVN_LAYOUTS_DIR));

$front->setRequest(new Zend_Controller_Request_Http());
$front->throwExceptions(true);
$front->setBaseUrl($config->url->base);

$router = new Zend_Controller_Router_Rewrite();
$routes_config = new USVN_Config_Ini(USVN_ROUTES_CONFIG_FILE, USVN_CONFIG_SECTION);
$router->addConfig($routes_config, 'routes');
$front->setRouter($router);
$front->setControllerDirectory(USVN_CONTROLLERS_DIR);

$front->dispatch();

上一篇把前兩句getInstance和startMvc兩個函數已經讀完了,下面是繼續分析后面的代碼

 

setRequest($request) 這里是判斷request是否是繼承自Zend_Controller_Request_Abstract,如果是的話就把front的_request賦值為它。

這里需要了解下什么是Zend_Controller_Request_Abstract,它是所有request抽象出來的抽象類。Zend已經提供了兩個實現類,Zend_Controller_Request_Http和Zend_Controller_Request_Simple,一般我們搭建服務器都是http請求,所以你的項目如果需要重新繼承的話,一般都直接繼承Zend_Controller_Request_Http。

Zend_controller_Request_Http中我們經常會使用到的getQuery,getCookie,getRequestUri,getBasePath,getParams,getHeader等這些Http通常的選項都已經有了。

繼續講它的基類Zend_Controller_Request_Abstract,這個類的方法包含:

回到代碼

$front->setRequest(new Zend_Controller_Request_Http());這里調用了Zend_Controller_Request_Http的構造函數,構造函數在第一次調用的時候是$this->setRequestUri();其中的setRequestUri很多都是直接使用$_SERVER這個php全局變量中的數據來獲取requestUri的。

setRequestUri可以學到的是在不同的服務器中如何獲取requestUri(特別是在IIS中的$SERVER中不同的變量組合有不同的含義),比如http://172.23.11.160/usvn/item/usvn_test 這個url,它的requestUri就是/usvn/item/usvn_test

 

$front->throwExceptions(true); 將內部的_throwExceptions標志位設置為true;

$front->setbaseUrl("/usvn")這個做了兩件事情,首先是設置front內部的_baseUrl屬性,其次調用Request的setBaseUrl,也是設置Zend_Controller_Request_Http的內部_baseUrl屬性。


$router = new Zend_Controller_Router_Rewrite();

$routes_config = new USVN_Config_Ini(USVN_ROUTES_CONFIG_FILE, USVN_CONFIG_SECTION);

$router->addConfig($routes_config, 'routes');

$front->setRouter($router);

下面這三行就直接說,實際上就是使用Zend的Router模塊使用配置文件,router使用setRouter放入front里面。


最后一句


$front->dispatch();

這個函數也是最核心的一個函數。

這個函數首先注冊了一個插件Zend_Controller_Plugin_ErrorHandler,index為100,把插件的順序放在最后。

 

第二步存放了一個Helper,Zend_Controller_Action_Helper_ViewRenderer,index為-80

下面實例化了request,request是一個Zend_Controller_Request_Http類型。并將request的baseUrl設置為前面設置過的_baseUrl,就是"/usvn/item/usvn_test"

接著實例化了response,response是一個Zend_Controller_Response_Http();

下面使用plugins來對Request和Response進行設置,首先實際調用了Zend_Controller_Plugin_Broker的setRequest函數,這個函數循環遍歷broker管理的所有插件,調用插件的setRequest($request)函數(如果有的話)。

 

接下來初始化router,和設置router的參數。router已經在前面設置過了,就是Zend_Controller_Router_Rewrite類型

初始化分發器dispatcher,分發器我們是第一次看到,Zend_Controller_Dispatcher_Standard類。分發器以后再說。


下面的流程:

調用插件的routeStartup對request進行處理

調用router的route處理request

調用插件的routeShutdown對request進行處理

調用插件的dispatchLoopStartup對request進行處理

進入循環分發過程

調用插件的preDispatch對request進行處理

調用dispatcher的dispatch處理request和response

調用插件的postDispatch對request進行處理

跳出循環分發過程

調用插件的dispatchLoopShutdown對request進行處理

發送response

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久免费视频| 欧美xxxx做受欧美| 2019亚洲日韩新视频| 国产精品99久久久久久www| 91久久综合亚洲鲁鲁五月天| 在线精品国产欧美| 午夜精品视频网站| 日韩免费中文字幕| 亚洲欧美综合v| 久久人人爽人人爽人人片av高请| 欧美激情在线播放| 欧美日韩亚洲视频一区| 琪琪亚洲精品午夜在线| 欧美在线观看网站| 日韩精品在线私人| 日韩电影在线观看中文字幕| 日韩精品免费视频| 成人网页在线免费观看| 成人xxxx视频| 亚洲国产精品悠悠久久琪琪| 亚洲高清一二三区| 欧美成人剧情片在线观看| 久久成人人人人精品欧| 久久久久久国产精品久久| 中文欧美日本在线资源| 国产精品9999| 日本欧美爱爱爱| 岛国av一区二区| 一本色道久久88精品综合| 日本欧美黄网站| 欧美野外猛男的大粗鳮| 97香蕉超级碰碰久久免费软件| 亚洲free性xxxx护士hd| 久久久伊人日本| 亚洲电影免费观看高清完整版在线观看| 亚洲男人第一网站| 国产69久久精品成人看| 午夜精品理论片| 国产a级全部精品| 午夜精品免费视频| 成人福利在线观看| 国产精品视频网站| 国产精选久久久久久| 亚洲激情视频网| 亚洲成人黄色在线观看| 最近2019年手机中文字幕| 久久精品国产精品亚洲| 国产视频精品在线| 欧美日韩xxxxx| 国产日韩欧美中文| 日韩av理论片| 欧美乱人伦中文字幕在线| 日本一本a高清免费不卡| 成人精品视频99在线观看免费| 久久久久国产精品www| 欧美激情高清视频| 国产精品女人久久久久久| 久久久国产精彩视频美女艺术照福利| 国产精品久久久久不卡| 久久精品最新地址| 成人有码在线视频| 欧美激情乱人伦| 久久露脸国产精品| 97国产精品免费视频| 亚洲欧洲av一区二区| 国产日韩欧美一二三区| 欧美午夜片在线免费观看| 欧美xxxx做受欧美.88| 欧美高跟鞋交xxxxxhd| 55夜色66夜色国产精品视频| 亚洲亚裔videos黑人hd| 国产亚洲欧洲在线| 亚洲综合视频1区| 国产精品一区二区三区毛片淫片| 精品福利一区二区| 91在线看www| 激情成人在线视频| 亚洲韩国欧洲国产日产av| 国产日韩欧美夫妻视频在线观看| 国产精品视频中文字幕91| 九九久久久久99精品| 欧美性69xxxx肥| 在线观看日韩专区| 8090理伦午夜在线电影| 日本不卡免费高清视频| 国产精品美女久久久久av超清| 亚洲天堂成人在线视频| 国产精品成人av性教育| 国产精品视频网| 亚洲夜晚福利在线观看| 91免费福利视频| 欧美在线激情网| 日韩中文字幕视频| 欧美视频免费在线观看| 日韩视频免费在线| 国产成人精彩在线视频九色| 国内精品久久久久影院 日本资源| 欧美大片欧美激情性色a∨久久| 在线观看欧美成人| 中文字幕亚洲在线| 欧美精品在线极品| 欧美日本中文字幕| 97视频免费在线看| 亚洲精品720p| 日韩在线免费高清视频| 91po在线观看91精品国产性色| 亚洲精品99久久久久| 国产综合福利在线| 国产高清视频一区三区| 91免费人成网站在线观看18| 日韩精品在线第一页| 国产日韩视频在线观看| 一个色综合导航| 欧美电影在线观看网站| 国产日韩在线一区| 久久久免费精品视频| 国内伊人久久久久久网站视频| 欧美性猛交xxxxx水多| 欧美午夜女人视频在线| 在线国产精品播放| 亚洲精品成人久久久| 日韩在线视频国产| 国产亚洲精品va在线观看| 久久精品成人动漫| 成人免费激情视频| 欧美日韩福利电影| 国产精品久久久久av免费| 美女精品久久久| 欧美视频在线观看免费网址| 亚洲欧美一区二区三区四区| 欧美激情在线播放| 国产乱肥老妇国产一区二| 国产+人+亚洲| 91亚洲国产成人精品性色| 亚洲精品福利免费在线观看| 亚洲第一视频网站| 97在线视频一区| 亚洲福利在线视频| 亚洲精品免费一区二区三区| 国产69精品久久久久99| 日韩电影中文字幕在线| 中文字幕欧美国内| 伊人亚洲福利一区二区三区| 欧美性视频精品| 91久久久久久久久久| 久久中国妇女中文字幕| 91网站免费观看| 亚洲高清在线观看| 日韩亚洲第一页| 国模视频一区二区| 久久久久久久国产| 欧美一区三区三区高中清蜜桃| 国产精品啪视频| 在线视频日本亚洲性| 一区国产精品视频| 久久久久国产视频| 国产日韩在线播放| 国产深夜精品福利| 亚洲欧美日韩中文视频| 亚洲最大中文字幕| 亚洲视频综合网| 亲子乱一区二区三区电影| 午夜精品久久久久久久久久久久久| 欧美人成在线视频|