PHP學習筆記-MVC定位,與web的交互

MVC框架就是提供將程序模塊化的一種設計思想,使用該框架可以增加程序的可讀性,實現分離,當我需要更改其中一部分代碼時而不需要代碼整體更改。那麼MVC究竟對應着PHP代碼的那些部分呢?使用過think PHP框架或者yii框架的開發者都知道,程序開發時會有一些固定的目錄,開發過程中使用類似與Yii框架的ODP框架,該框架與常用的框架一樣包含了很多的第三方庫,有自己的目錄結構,通常自定義的一些功能接口會放在app目錄下,與thinkphp框架一樣。MVC框架指的就是模型層、視圖層和控制層。工作的流程就是web層-->control層--->module層-->view層。那麼對應程序分別對應什麼呢?一開始一直認爲c對應的就是controller,但是通過閱讀代碼,m就是module目錄,通過一點點的學習後發現,自己理解的偏差。

程序中的controller目錄對應的是router層。

而MVC對應的開發目錄如下:

M(模型層):對應的一般是程序中的data層,此部分與後端數據庫交互,實現數據的基礎處理

C(控制層):對應者程序中的Page層,該層負責向M層發送基礎的指令,並將結果返回給V層。

V(視圖層):對應的是程序中的action目錄,程序執行後將結果返回該層,負責將結果呈現給用戶。


那麼web是如何與PHP腳本交互的呢?web發起http請求,首先會經過後端服務器webserver,後端環境通常爲nginx或lightted,開發過程中使用的爲nginx服務器,由於與後端PHP建立socket鏈接,而PHP不支持socket通信,因此使用factcgi或cgi與PHP腳本進行交互,fastcgi和cgi是進程管理器,之間的區別會在下一節記錄。php是一種解釋性執行語言,需要有環境的支持,通常要藉助php腳本解釋器執行因此執行過程如下:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章