博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Thinkphp控制器,1.多层控制器2.多级控制器
阅读量:4985 次
发布时间:2019-06-12

本文共 1288 字,大约阅读时间需要 4 分钟。

1.多层控制器

ThinkPHP的控制器支持多层和多级,多层指的是控制器可以分层,例如除了默认的Controller控制器层(我们可以称之为访问控制器),还可以添加事件控制器(层),例如:

├─Controller 访问控制器     ├─UserController.class.php      ├─BlogController.class.php├─Event 事件控制器     ├─UserEvent.class.php       ├─BlogEvent.class.php

访问控制器的名称是通过DEFAULT_C_LAYER设置的,默认是Controller

访问控制器负责外部交互响应,通过URL请求响应,

事件控制器负责内部的事件响应,并且只能在内部调用,所以是和外部隔离的。

 

如果是定义其他的控制器层,则不一定必须要继承系统的Controller类或其子类,通常需要输出模版的时候才需要继承Controller类。例如:

 

UserEvent.class.php

UserController.class.php

login();//调用UserEvent.class.php里的login方法; echo "ceshi"; } }

 

 

 

因为操作方法就是控制器的一个方法,所以遇到有和系统的关键字冲突的方法可能就不能定义了,这个时候我们可以设置操作方法的后缀来解决,例如:

在相应的config.php里面添加配置

'ACTION_SUFFIX'         =>  'Action', // 操作方法后缀

设置操作方法的后缀为Action,这样,控制器的操作方法定义调整为:

 

 

多级控制器

多级控制器是指控制器可以通过子目录把某个控制器层分组存放,首先需要设置控制器的分级层次,例如,我们设置2级目录的控制器层:

在相应的config.php里面添加配置

'CONTROLLER_LEVEL'      =>  2,//允许二级控制器

控制器文件的位置放置如下:

Controller 访问控制器      ├─User User分级(组)            ├─UserTypeController.class.php             ├─UserAuthController.class.php      ├─Admin Admin分级(组)          ├─UserController.class.php           ├─ConfigController.class.php

多级控制器中的命名空间需要这样定义:

然后就可以通过URL地址访问:

http://serverName/Home/User/UserTypehttp://serverName/Home/Admin/User

 

转载于:https://www.cnblogs.com/zxl89/p/6230164.html

你可能感兴趣的文章
layui中的html怎样接收后台的值,layui框架与SSM前后台交互的方法
查看>>
Skulpt在线模拟运行Python工具
查看>>
287.软件测试概述
查看>>
297.白盒测试
查看>>
新闻客户端的突破与创新
查看>>
网络通信引擎ICE的使用
查看>>
js滚动事件实现滚动触底加载
查看>>
CetnOS minimal 网络不可用
查看>>
MySQL 数据库备份
查看>>
python 笔记
查看>>
【Java】NIO中Channel的注册源码分析
查看>>
JS监测鼠标指针位置
查看>>
Mac常用终端命令
查看>>
团队作业2
查看>>
Gym - 101350A Sherlock Bones(思维)
查看>>
莫队算法板子
查看>>
Tensor flow 实战Google深度学习框架 笔记摘要Ptwo
查看>>
rest_framework之渲染器
查看>>
有状态服务和无状态服务
查看>>
iOS:检测多媒体(相机、相册、麦克风)设备权限,弹框提示
查看>>