ThinkPHP5.1 前置操作说明
可以为某个或者某些操作指定前置执行的操作方法,设置 beforeActionList属性可以指定某个方法为其他方法的前置操作,数组键名为需要调用的前置方法名,无值的话为当前控制器下所有方法的前置方法。
['except' => '方法名,方法名']
表示这些方法不使用前置方法,
['only' => '方法名,方法名']
表示只有这些方法使用前置方法。
示例如下:
<?php
namespace app\index\controller; use think\Controller; class Index extends Controller
{
protected $beforeActionList = [
'first', //在执行所有方法前都会执行first方法
'second' => ['except'=>'hello'], //除hello方法外的方法执行前都要先执行second方法
'three' => ['only'=>'hello,data'], //在hello/data方法执行前先执行three方法
]; protected function first()
{
echo 'first<br/>';
} protected function second()
{
echo 'second<br/>';
} protected function three()
{
echo 'three<br/>';
} public function hello()
{
return 'hello';
} public function data()
{
return 'data';
}
}
访问
http://localhost/index.php/index/Index/hello
最后的输出结果是
first
three
hello
访问
http://localhost/index.php/index/Index/data
的输出结果是:
first
second
three
data
ThinkPHP5.1 前置操作说明的更多相关文章
- thinkphp5使用前置后置操作
		
下面举个例子,前置删除的例子 模型事件只可以在调用模型的方法才能生效,使用查询构造器通过Db类操作是无效的 控制器中实例化类 $cate=model('cate'); $cate-> ...
 - 第37课 thinkphp5添加商品基本信息及通过前置钩子上传商品主图 模型事件(勾子函数)
		
目录 手册地址: before_insert(新增之前的操作) 要实现的功能 思路 触发条件: 1. 控制器里必须要调用模型的save()方式保存数据,用insert()触发不了勾子函数的 2. 模型 ...
 - thinkphp5.0学习笔记(三)获取信息,变量,绑定参数
		
1.构造函数: 控制器类必须继承了\think\Controller类,才能使用: 方法_initialize 代码: <?php namespace app\lian\controller; ...
 - thinkphp5.0和thinkphp3.2的区别不同之处
		
先看目录结构: thinkphp 5.0的目录结构, 文档:https://www.kancloud.cn/manual/thinkphp5/118008 project 应用部署目录 ├─appli ...
 - thinkphp5 (最棒的php开源框架)
		
tp5的唯一可访问目录是public,即项目根目录: http://localhost/tp5/public/ 开发规范: 类库.函数文件统一以.php为后缀 类(命名和路径)和命名空间保持一致 类文 ...
 - ThinkPHP5.0框架开发--第5章 TP5.0 控制器
		
ThinkPHP5.0框架开发--第5章 TP5.0 控制器 第5章 TP5.0 控制器 ============================================== 上次复习 1.路 ...
 - thinkphp5项目--企业单车网站(六)
		
thinkphp5项目--企业单车网站(六) 项目地址 fry404006308/BicycleEnterpriseWebsite: Bicycle Enterprise Websitehttps:/ ...
 - thinkphp5框架之请求
		
又看到请求这一部分,个人认为这部分是算重要的一部分 单独记一篇笔记. 0x01 request请求对象 如果要获取当前的请求信息,可以使用\think\Request类,完全开发手册中也有提到,继承系 ...
 - thinkphp5底层基类封装、内部类函数
		
记录下thinkphp5自定义底层基类.内部类函数使用笔记 大部分笔记来自tp手册. 底层常用代码的封装 在控制器中基类的起着至关重要的作用,整个项目的代码安全,复杂程度,易读性都要看你项目的基类架构 ...
 
随机推荐
- 从golang-gin-realworld-example-app项目学写httpapi (三)
			
https://github.com/gothinkster/golang-gin-realworld-example-app/blob/master/users/serializers.go 序列化 ...
 - SpringMVC与shiro集成及配置文件说明!
			
在项目中xml文件的配置是必不可少的,特别是SpringMVC框架.但是几乎所有项目的配置都是大同小异,很多人都是直接复制黏贴了事,不少人对其具体含义及用途都不甚全知.本片文章将正对项目中常用的框架S ...
 - Java 8 Date-Time API概览
			
更新时间:2018-04-19 根据网上资料整理 java 8增加了新的Date-Time API (JSR 310),增强对日期与时间的处理.它在很大程度上受到Joda-Time的影响.之前写过一篇 ...
 - [翻译] JTBorderDotAnimation
			
JTBorderDotAnimation https://github.com/jonathantribouharet/JTBorderDotAnimation JTBorderDotAnimatio ...
 - Python学习---抽屉框架分析[数据库设计分析]180313
			
基本的: models.py ####################################以下都是抽屉的代码#################################### fro ...
 - Office 365实现单点登录系列(1)—域环境搭建
			
Hello 小伙伴们, 2018新年快乐,作为2018年首篇文章,怎么能不给大家带来点干货呢?这篇文章其实我9月底的时候已经在MSDN上发布过了,为表诚意,我更新了这篇文章,并把它组成了一个系列,2. ...
 - December 30th 2016 Week 53rd Friday
			
Life without love is like a tree without blossoms or fruit. 缺少爱的生活就像从未开花结果的枯树. Love is not only the ...
 - HTTP协议图--HTTP 报文首部之请求行、状态行
			
1.请求行 举个栗子,下面是一个 HTTP 请求的报文: GET /index.htm HTTP/1.1 Host: sample.com 其中,下面的这行就是请求行, GET /index.htm ...
 - Python 变量和数据类型
			
变量的定义与赋值 Python 是动态语言,我们不需要为变量指定数据类型,只需要输入变量名和值就行了.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 此外 Python 允许你同时为多个变 ...
 - [T-ARA][20090729]
			
歌词来源:http://music.163.com/#/song?id=484058959 在基本发音规则之上,考虑到了音变的某些情况,最后结合听力搞定的一版歌词发音(只要学完养乐多老师的教程应该读起 ...