thinkphp控制器是什么

发布时间:2024-01-18
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的情况下也能自动识别。
上一个:租房物业费怎么算的
下一个:口头合同和书面合同具有同等法律地位

淘宝人生有什么用,如何关闭(淘宝人生是干嘛的,需要充钱吗)
iphone录屏如何录声音(苹果录屏怎么录声音手机的声音)
触电人身损害赔偿责任如何确定
红枣枸杞茶的功效
怎样提高天竺葵扦插成活率
塑料耐酸碱水泵配套动力电动机过热原因
qq群视频聊天怎么关闭自己的麦克风(qq群视频怎么闭麦)
上海邮政博物馆地址在哪里 上海邮政博物馆在怎么去
水仙雕刻及养护方法
多模式试飞实时监控系统设计