ThinkPHP - 前置操作+后置操作
2024-09-22 04:47:36
前置操作和后置操作
系统会检测当前操作(不仅仅是index操作,其他操作一样可以使用)是否具有前置和后置操作,如果存在就会按照顺序执行,前置和后置操作的方法名是在要执行的方法前面加 _before_和_after_,例如:
class CityAction extends Action{
//前置操作方法
public function _before_index(){
echo 'before<br/>';
}
public function index(){
echo 'index<br/>';
}
//后置操作方法
public function _after_index(){
echo 'after<br/>';
}
}
如果我们访问:
http://serverName/index.php/City/index
结果会输出:
before
index
after
对于任何操作方法我们都可以按照这样的规则来定义前置和后置方法。如果当前的操作并没有定义操作方法,
而是直接渲染模板文件,那么如果定义了前置 和后置方法的话,依然会生效。
真正有模板输出的可能仅仅是当前的操作,前置和后置操作一般情况是没有任何输出的。
需要注意的是,在有些方法里面使用了exit或者错误输出之类的话
有可能不会再执行后置方法了。
例如,如果在当前操作里面调用了系统Action的error方法,那么将不会再执行后置操作,但是不影响success方法的后置方法执行。
有可能不会再执行后置方法了。
例如,如果在当前操作里面调用了系统Action的error方法,那么将不会再执行后置操作,但是不影响success方法的后置方法执行。
最新文章
- 超级文件搜索器(SuperSearch)
- 【JAVA网络流之URL】
- 制作UI纹理(UI Texture)
- 备注ocp_ORACLE专题网络
- .net mvc 超过了最大请求长度 限制文件上传大小
- 初识Selenium(四)
- c语言 inline函数
- net.sz.framework 框架 轻松搭建服务---让你更专注逻辑功能---初探
- java读取txt文件内容
- 生产环境一键创建kafka集群
- 关于谷歌JSV8与微软JSRT的性能比较
- Windows下安装Mysql5.7
- C语言学习及应用笔记之一:C运算符优先级及使用问题
- 深度学习目标检测:RCNN,Fast,Faster,YOLO,SSD比较
- spring boot(九)定时任务
- 配置嵌入式Servlet容器
- Git 的4个阶段的撤销更改
- python + opencv 环境配置
- 无法连接redis问题
- K8S Deployment 命令