国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - ThinkPHP3.1新特性之多層MVC的支持

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

2020-07-08 14:37PHP教程網(wǎng) PHP教程

默認(rèn)的模型層由Model類構(gòu)成,但是隨著項(xiàng)目的增大和業(yè)務(wù)體系的復(fù)雜化,單一的模型層很難解決要求,從3.1開(kāi)始推出了多層Model的支持。這篇文章主要介紹了ThinkPHP3.1多層MVC的支持,需要的朋友可以參考下

1.模型(Model)層:默認(rèn)的模型層由Model類構(gòu)成,但是隨著項(xiàng)目的增大和業(yè)務(wù)體系的復(fù)雜化,單一的模型層很難解決要求,從3.1開(kāi)始推出了多層Model的支持,設(shè)計(jì)思路很簡(jiǎn)單,不同的模型層仍然都繼承自系統(tǒng)的Model類,但是在目錄結(jié)構(gòu)和命名規(guī)范上做了區(qū)分,例如在某個(gè)項(xiàng)目設(shè)計(jì)中需要區(qū)分?jǐn)?shù)據(jù)層、邏輯層、服務(wù)層等不同的模型層,我們可以在項(xiàng)目的Lib目錄下面創(chuàng)建Model、Logic和Service目錄,把對(duì)用戶表的所有模型操作分成三層:

數(shù)據(jù)層:Model/UserModel 用于定義數(shù)據(jù)相關(guān)的自動(dòng)驗(yàn)證和自動(dòng)完成和數(shù)據(jù)存取接口
邏輯層:Logic/UserLogic 用于定義用戶相關(guān)的業(yè)務(wù)邏輯
服務(wù)層:Service/UserService 用于定義用戶相關(guān)的服務(wù)接口等

而這三個(gè)模型操作類統(tǒng)一都繼承Model類即可,這樣對(duì)用戶數(shù)據(jù)的操作就非常清晰,在調(diào)用的時(shí)候,也可以用內(nèi)置的D方法很方便的調(diào)用:

?
1
2
3
D('User') //實(shí)例化UserModel
D('User','Logic') //實(shí)例化UserLogic
D('User','Service') //實(shí)例化UserService

對(duì)模型層的分層劃分是很靈活的,開(kāi)發(fā)人員可以根據(jù)項(xiàng)目的需要自由定義分層。

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

?
1
2
Tpl/default/User/add.html
Tpl/blue/User/add.html

3.控制器(Controller)層:ThinkPHP的控制器層由核心控制器和業(yè)務(wù)控制器組成,核心控制器由系統(tǒng)內(nèi)部的App類完成,負(fù)責(zé)應(yīng)用(包括模塊和操作)的調(diào)度控制,包括HTTP請(qǐng)求攔截和轉(zhuǎn)發(fā)、加載配置等,業(yè)務(wù)控制器則由用戶定義的Action類完成。3.1版本開(kāi)始增加了多層業(yè)務(wù)控制器的支持。其實(shí)現(xiàn)原理和模型的分層類似,例如業(yè)務(wù)控制器和事件控制器:

?
1
2
Action/UserAction //用于用戶的業(yè)務(wù)邏輯控制和調(diào)度
Event/UserEvent //用于用戶的事件響應(yīng)操作

UserAction負(fù)責(zé)外部交互響應(yīng),通過(guò)URL請(qǐng)求響應(yīng),例如 http://serverName/User/index,而UserEvent 負(fù)責(zé)內(nèi)部的事件響應(yīng),并且只能在內(nèi)部調(diào)用

?
1
A('User','Event');

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

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

表示調(diào)用UserEvent控制器的register方法,并傳入?yún)?shù)15.
MVC三層中,ThinkPHP并不依賴M或者V,甚至可以只有C或者只有V,這個(gè)在ThinkPHP的設(shè)計(jì)里面是一個(gè)很重要的用戶體驗(yàn)設(shè)計(jì),用戶只需要定義視圖,在沒(méi)有C的情況下也能自動(dòng)識(shí)別。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: cao视频| 亚洲欧洲精品成人久久奇米网 | 欧美,日韩,国产精品免费观看 | 久久人人爽爽爽人久久久 | 久久精品亚洲精品 | 国产a视频 | 日韩欧美综合 | 97精品国产97久久久久久免费 | a视频在线观看 | 久久不射电影网 | 亚洲福利电影网 | 久久久91精品国产一区二区三区 | 国产一区二区三区在线视频 | 日韩精品在线观看视频 | 欧美性一区二区三区 | 色偷偷888欧美精品久久久 | www.亚洲成人 | 亚洲国产精品成人精品 | 伊人久久艹 | 国产亚洲网站 | jizzz中国| 精品国产乱码一区二区三区四区 | 久久国产精品久久久久久电车 | 中文字幕第一页在线 | 国产午夜精品一区二区三区免费 | 国产一区二区三区久久 | 日韩综合网| 成人免费在线观看视频 | 日韩精品一区二区三区视频播放 | 国产精品免费久久久久久 | 久久免费视频3 | 中文字幕精品一区久久久久 | 黄色高清视频在线观看 | 免费骚视频 | 青青草久久 | 自拍偷拍欧美 | 亚洲在线一区二区三区 | 中文字幕视频一区 | 日韩欧美国产一区二区三区 | 成年人毛片视频 | 成人高清视频在线观看 |