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

ThinkPHP3.1新特性之多層MVC的支持

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

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

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

D('User') //實例化UserModelD('User','Logic') //實例化UserLogicD('User','Service') //實例化UserService

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

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

Tpl/default/User/add.htmlTpl/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的情況下也能自動識別。

php技術ThinkPHP3.1新特性之多層MVC的支持,轉載需保留來源!

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

主站蜘蛛池模板: 成年人免费看视频 | 精品视频在线播放 | 激情视频在线 | 久久伊人成人网 | 免费国产97久久青草 | 99久久久久国产精品免费 | 四虎4hu永久在线观看 | 91在线视频观看 | 热久久99影院 | 成年美女黄 | 看全色黄大色黄大片视频 | 美女被男人桶到嗷嗷叫爽网站 | 欧美激性欧美激情在线 | 一区二区三区91 | 国产精品每日更新 | 伊人中文字幕在线观看 | 国产一区二区网站 | 91视频免费观看 | 国产欧美一区二区三区观看 | 欧美色就色 | 色老板在线免费 | 日韩在线播放一区 | 亚洲香蕉伊在人在线观看9 亚洲香蕉伊综合在人在线 亚洲香蕉影院 | 伊人激情综合 | 亚洲国产天堂久久九九九 | 激情五月网站 | 韩国一级成a人片在线观看 韩国一级毛片 | 夜夜五月天| 日日摸夜夜添夜夜添毛片 | 亚洲人成伊人成综合网久久久 | 亚洲国产香蕉视频欧美 | 伊人久久精品 | 一区二区三区四区在线观看视频 | 91精选视频在线观看 | 四虎永久在线观看免费网站网址 | 成人免费网址在线 | 日韩在线不卡一区在线观看 | 一区二区三区中文字幕 | www.亚洲一区二区三区 | 999国产视频 | 日韩午夜视频在线观看 |