一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Zend framework處理一個http請求的流程分析

zend framework 處理請求流程圖

 

1, 首先是bootstrap過程,初始化程序里用到的資源

2, 創(chuàng)建一個Zend_Controller_Front實(shí)體,實(shí)現(xiàn)front controller模式,這個實(shí)體類會負(fù)責(zé)將http請求派遣到恰當(dāng)?shù)腸ontroller的action里。

3, Front controller會創(chuàng)建倆個對象來封裝http請求和http回復(fù),分別是Zend_Controller_Request_Http和Zend_Controller_Response_Http

4, Front controller會創(chuàng)建倆個對象來實(shí)現(xiàn)url尋路和派遣,分別是routing和dispatcher, 分別負(fù)責(zé)找到指定url應(yīng)該執(zhí)行的控制器和動作,和載入對應(yīng)的程序文件并執(zhí)行對應(yīng)的方法。

5, 通過controller的plugin機(jī)制,Zend_Controller_Action_ViewRenderer會為controller的實(shí)體類創(chuàng)建一個view屬性,這個view是一個Zend_View的實(shí)體對象。它還負(fù)責(zé)在controller action請求處理完成后,將相應(yīng)的template文件render呈現(xiàn)到http response對象里。最后response對象的內(nèi)容會由Front Controller輸出到瀏覽器。

6, 在第五步中,雖然template文件是由ViewRender助手對象來定位的,但是是由Zend_VIew的一個成員函數(shù)執(zhí)行的(include進(jìn)這個template文件),所以在Controller里屬性里view對象的所有屬性和成員函數(shù)在template文件里都可以被使用。

 

這樣一個http請求的生命周期就結(jié)束了,瀏覽器獲得了內(nèi)容。在controller的action給view指定要呈現(xiàn)的變量時,它一般會通過Zend_Db_Table與數(shù)據(jù)庫交互,獲得數(shù)據(jù)。

與數(shù)據(jù)庫交互處理數(shù)據(jù)稱為business logic, template文件里也會包涵簡單的循環(huán)等邏輯,這個稱為display logic。

在MVC實(shí)現(xiàn)中,Model負(fù)責(zé)處理business logic, View負(fù)責(zé)處理display logic,而Controller則負(fù)責(zé)協(xié)調(diào)這倆部分,從而Controller的代碼應(yīng)該盡量簡潔,它只是作為一個agent存在的。

php技術(shù)Zend framework處理一個http請求的流程分析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩欧美一区二区三区 | 成人欧美视频在线观看 | 2022国产91精品久久久久久 | 中文字幕成人免费视频 | 日韩视频免费 | 91视频一区 | 伊人蕉| 欧美午夜色大片在线观看免费 | 久久精品国产亚洲网站 | 本道久久综合88全国最大色 | 婷婷国产 | 69国产成人综合久久精 | 日本三级一区二区三区 | 天天做天天爽爽快快 | 成人在线激情 | 国产欧美亚洲三区久在线观看 | 色啪视频 | 视频国产一区 | 日本成人在线网站 | 亚洲综合激情网 | 美女被免费视频网站九色 | 久久国产网站 | 国产成人久久精品麻豆二区 | 国产线视频精品免费观看视频 | 女人洗澡一级毛片一级毛片 | 国产v综合v亚洲欧美大片 | 亚洲国产精品婷婷久久久久 | 国产精品视频免费的 | 在线观看中文字幕一区 | 久久99国产亚洲精品 | 一本一道久久综合狠狠老 | 伊人久久婷婷 | 婷婷亚洲久悠悠色在线播放 | 国产拍拍1000部ww | 六月丁香婷婷激情 | 亚洲免费网站 | 好吊妞操 | 在线观看www日本免费网站 | 网色| 欧美在线视频在线观看 | 91av综合|