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