thinkphp控制器是什么

Thinkphp的控制器是一個類,接受用戶的輸入并調用模型和視圖去完成用戶的需求;控制器層由核心控制器和業務控制器組成,負責應用的調度控制,而業務控制器則由用戶定義的控制器類完成。

thinkphp控制器是什么

本教程操作環境:Windows7系統、thinkphp v5.1版、Dell G3電腦。

thinkphp基于mvc(Model-View-Controller,模型-視圖-控制器)模式,并且均支持多層(multi-Layer)設計。

MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型(M)、視圖(V)、控制器(C),它們各自處理自己的任務。

控制器(Controller)層

立即學習PHP免費學習筆記(深入)”;

ThinkPHP的控制器是一個類。

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

Controller/UserController //用于用戶的業務邏輯控制和調度

Event/UserEvent //用于用戶的事件響應操作

訪問控制器 Home/Controller/UserController.class.php 定義如下:

namespace?HomeController; use?ThinkController; class?UserController?extends?Controller{ }

事件控制器 Home/Event/UserEvent.class.php 定義如下:

namespace?HomeEvent; use?ThinkController; class?UserEvent?extends?Controller{ }

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

A('User','Event');

默認的訪問控制器層是Controller,我們可以調整設置如下:

'DEFAULT_C_LAYER'???????=>??'Event',?//?默認的控制器層名稱改為Event

所以是和外部隔離的。

多層控制器的劃分也不是強制的,可以根據應用的需要自由分層??刂破鞣謱永锩婵梢愿鶕枰{用分層模型,也可以調用不同的分層視圖(主題)。

在MVC三層中,ThinkPHP并不依賴M或者V,甚至可以只有C或者只有V,這個在ThinkPHP的設計里面是一個很重要的用戶體驗設計,用戶只需要定義視圖,在沒有C的情況下也能自動識別。

【相關教程推薦:thinkphp框架

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享