首頁 >後端開發 >php教程 >zend framework Zend framework處理一個http請求的流程分析

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

WBOY
WBOY原創
2016-07-29 08:41:431099瀏覽

 Zend framework处理一个http请求的流程分析

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

2, 建立一個Zend_Controller_Front實體,實作front controller模式,這個實體類別會負責將http請求派遣到適當的controller的action裡。

3, Front controller會建立兩個物件來封裝http請求和http回复,分別是Zend_Controller_Request_Http和Zend_Controller_Response_Http

4, Front conurlller會建立個尋個物件路和派遣,分別是routing和dispatcher, 分別負責找到指定url應該執行的控制器和動作,和載入對應的程式檔案並執行對應的方法。

5, 透過controller的plugin機制,Zend_Controller_Action_ViewRenderer會為controller的實體類別建立一個view屬性,這個view是一個Zend_View的實體物件。它也負責在controller action請求處理完成後,將對應的template檔案render呈現到http response物件裡。最後response物件的內容會由Front Controller輸出到瀏覽器。

6, 在第五步驟中,雖然template檔案是由ViewRender助手物件來定位的,但是是由Zend_VIew的一個成員函數執行的(include進這個template檔案),所以在Controller裡屬性裡view物件的所有屬性和成員函數在template檔案裡都可以被使用。

這樣一個http請求的生命週期就結束了,瀏覽器獲得了內容。當controller的action給view指定要呈現的變數時,它一般會透過Zend_Db_Table與資料庫交互,獲得資料。

與資料庫互動處理資料稱為business logic, template檔案裡也會包涵簡單的循環等邏輯,這個稱為display logic。

在MVC實作中,Model負責處理business logic,View負責處理display logic,而Controller則負責協調這兩個部分,從而Controller的程式碼應該盡量簡潔,它只是作為一個agent存在的。

以上就介紹了zend framework Zend framework處理一個http請求的流程分析,包括了zend framework方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn