温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

thinkphp控制器是什么东西

发布时间:2021-12-27 11:43:40 来源:亿速云 阅读:154 作者:小新 栏目:编程语言

这篇文章主要介绍thinkphp控制器是什么东西,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

ThinkPHP的控制器是一个类,接受用户的输入并调用模型和视图去完成用户的需求;控制器层由核心控制器和业务控制器组成,负责应用的调度控制,而业务控制器则由用户定义的控制器类完成。

本教程操作环境:Windows7系统、thinkphp v5.1版、Dell G3电脑。

ThinkPHP基于MVC(Model-View-Controller,模型-视图-控制器)模式,并且均支持多层(multi-Layer)设计。

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。

控制器(Controller)层

ThinkPHP的控制器是一个类。

ThinkPHP的控制器层由核心控制器和业务控制器组成,核心控制器由系统内部的App类完成,负责应用(包括模块、控制器和操作)的调度控制,包括HTTP请求拦截和转发、加载配置等。业务控制器则由用户定义的控制器类完成。多层业务控制器的实现原理和模型的分层类似,例如业务控制器和事件控制器:

Controller/UserController //用于用户的业务逻辑控制和调度

Event/UserEvent //用于用户的事件响应操作

访问控制器 Home/Controller/UserController.class.php 定义如下:

namespace Home\Controller;
use Think\Controller;
class UserController extends Controller{
}

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

namespace Home\Event;
use Think\Controller;
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控制器是什么东西”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI