ThinkPHP基于MVC(Model-View-Controller,模型-視圖-控制器)模式,并且均支持多層(multi-Layer)設(shè)計(jì)。
多層Model的支持,設(shè)計(jì)思路很簡(jiǎn)單,不同的模型層仍然都繼承自系統(tǒng)的Model類,但是在目錄結(jié)構(gòu)和命名規(guī)范上做了區(qū)分。
視圖層由模板和模板引擎組成,在模板中可以直接使用PHP代碼,通過驅(qū)動(dòng)也可以支持其他第三方的模板引擎。視圖的多層可以簡(jiǎn)單的通過目錄(也就是模板主題)區(qū)分,例如:
默認(rèn)的視圖層是View目錄,我們可以調(diào)整設(shè)置如下:
'DEFAULT_V_LAYER' => 'Mobile', // 默認(rèn)的視圖層名稱更改為Mobile
ThinkPHP的控制器層由核心控制器和業(yè)務(wù)控制器組成,核心控制器由系統(tǒng)內(nèi)部的App類完成,負(fù)責(zé)應(yīng)用(包括模塊、控制器和操作)的調(diào)度控制,包括HTTP請(qǐng)求攔截和轉(zhuǎn)發(fā)、加載配置等。業(yè)務(wù)控制器則由用戶定義的控制器類完成。多層業(yè)務(wù)控制器的實(shí)現(xiàn)原理和模型的分層類似,例如業(yè)務(wù)控制器和事件控制器:
在MVC三層中,ThinkPHP并不依賴M或者V,甚至可以只有C或者只有V,這個(gè)在ThinkPHP的設(shè)計(jì)里面是一個(gè)很重要的用戶體驗(yàn)設(shè)計(jì),用戶只需要定義視圖,在沒有C的情況下也能自動(dòng)識(shí)別
================================================
聯(lián)系客服