91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在ThinkPHP3.1中實現多層MVC

發布時間:2021-03-04 15:11:56 來源:億速云 閱讀:144 作者:Leah 欄目:開發技術

本篇文章為大家展示了怎么在ThinkPHP3.1中實現多層MVC,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

php有什么用

php是一個嵌套的縮寫名稱,是英文超級文本預處理語言,它的語法混合了C、Java、Perl以及php自創新的語法,主要用來做網站開發,許多小型網站都用php開發,因為php是開源的,從而使得php經久不衰。

1.模型(Model)層:默認的模型層由Model類構成,但是隨著項目的增大和業務體系的復雜化,單一的模型層很難解決要求,從3.1開始推出了多層Model的支持,設計思路很簡單,不同的模型層仍然都繼承自系統的Model類,但是在目錄結構和命名規范上做了區分,例如在某個項目設計中需要區分數據層、邏輯層、服務層等不同的模型層,我們可以在項目的Lib目錄下面創建Model、Logic和Service目錄,把對用戶表的所有模型操作分成三層:

數據層:Model/UserModel 用于定義數據相關的自動驗證和自動完成和數據存取接口
邏輯層:Logic/UserLogic 用于定義用戶相關的業務邏輯
服務層:Service/UserService 用于定義用戶相關的服務接口等

而這三個模型操作類統一都繼承Model類即可,這樣對用戶數據的操作就非常清晰,在調用的時候,也可以用內置的D方法很方便的調用:

D('User') //實例化UserModel
D('User','Logic') //實例化UserLogic
D('User','Service') //實例化UserService

對模型層的分層劃分是很靈活的,開發人員可以根據項目的需要自由定義分層。

2.視圖(View)層:由模板和模板引擎組成,在模板中可以直接使用PHP代碼,模板引擎的設計會在后面講述,通過驅動也可以支持其他第三方的模板引擎。視圖的多層可以簡單的通過目錄區分,例如:

Tpl/default/User/add.html
Tpl/blue/User/add.html

3.控制器(Controller)層:ThinkPHP的控制器層由核心控制器和業務控制器組成,核心控制器由系統內部的App類完成,負責應用(包括模塊和操作)的調度控制,包括HTTP請求攔截和轉發、加載配置等,業務控制器則由用戶定義的Action類完成。3.1版本開始增加了多層業務控制器的支持。其實現原理和模型的分層類似,例如業務控制器和事件控制器:

Action/UserAction //用于用戶的業務邏輯控制和調度
Event/UserEvent //用于用戶的事件響應操作

UserAction負責外部交互響應,通過URL請求響應,例如 http://serverName/User/index,而UserEvent 負責內部的事件響應,并且只能在內部調用

 A('User','Event');

所以是和外部隔離的。多層控制器的劃分也不是強制的,可以根據項目的需要自由分層。控制器分層里面可以根據需要調用分層模型,也可以調用不同的目錄的視圖模板。
同時,R方法也可以支持多層控制器的調用了,增加了第三個參數表示控制器的層名稱,例如:

R('User/register',array(15),'Event');

表示調用UserEvent控制器的register方法,并傳入參數15.
在MVC三層中,ThinkPHP并不依賴M或者V,甚至可以只有C或者只有V,這個在ThinkPHP的設計里面是一個很重要的用戶體驗設計,用戶只需要定義視圖,在沒有C的情況下也能自動識別。

上述內容就是怎么在ThinkPHP3.1中實現多層MVC,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灵璧县| 铁岭市| 张北县| 浦北县| 上思县| 淮安市| 新巴尔虎右旗| 南木林县| 苗栗县| 城口县| 武川县| 博湖县| 新龙县| 烟台市| 武威市| 沂源县| 桓仁| 丰城市| 外汇| 平遥县| 景德镇市| 普宁市| 河池市| 平乡县| 巴马| 永平县| 淅川县| 江阴市| 页游| 双峰县| 襄城县| 大城县| 宾川县| 隆昌县| 新建县| 乌兰县| 保康县| 东城区| 邹平县| 柏乡县| 屯昌县|