Thinkphp5行为使用方法汇总


Posted in PHP onDecember 21, 2017

在应用或模块下建 behavior目录,目录内建行为类文件Test.PHP(以下以home模块为例)

namespace app/home/behavior;//注意应用或模块的不同命名空间 
class Test 
{ 
public function run(&$params)
{   
echo $params;  
} }

方法一

1.在入口文件中,增加: define('APP_HOOK',true);

2.home模块下建tags.PHP文件定义行为

return [  
'app_init'=> [  
'app//home//behavior//Test', //注意行为的命名空间(下同) 
], 
'zzzzz'=> [//自定义标签位   
'app//home//behavior//Test', 
], 
//................. ];

3.控制器方法内需要的地方侦听行为

/think/Hook::listen('app_init',$params);//参数为变量(下同) /think/Hook::listen('zzzzz',$params);//自定义

方法二

1.home模块的公共文件(common.PHP)或控制器方法内绑定行为到标签位

/think/Hook::add('app_init','app//home//behavior//Test'); /think/Hook::add('zzzz','app//home//behavior//Test');//自定义

2.控制器方法内需要的地方侦听行为

/think/Hook::listen('app_init',$params); /think/Hook::listen('zzzzz',$params);//自定义

方法三

在控制器方法内需要的地方直接执行行为

/think/Hook::exec('app//home//behavior//Test','run',$params);

方法四

在控制器方法内直接使用闭包函数

$a='闭包函数'; /think/Hook::add('zzzz',function($a){ var_dump($a);}); /think/Hook::listen('zzzz',$a);

方法五

行为类绑定到多个标签

1.Test.PHP定义如下:

namespace app/home/behavior;
class Test {  
public function app_init(&$params){  
echo 'app_init';  } 
 public function app_end(&$params){   
echo 'app_end';  
} }

2.home模块的公共文件(common.PHP)或控制器方法内绑定行为到标签位

/think/Hook::add('app_init','app//home//behavior//Test');
/think/Hook::add('app_end','app//home//behavior//Test');

3.控制器方法内需要的地方侦听行为

/think/Hook::listen('app_init',$params); /think/Hook::listen('app_end',$params);

总结

以上所述是小编给大家介绍的Thinkphp5行为使用方法汇总,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP 使用header函数设置HTTP头的示例解析 表头
Jun 17 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
Jun 29 PHP
php一维二维数组键排序方法实例总结
Nov 13 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
php将12小时制转换成24小时制的方法
Mar 31 PHP
php简单实现快速排序的方法
Apr 04 PHP
php中preg_match的isU代表什么意思
Oct 01 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
PHP的Yii框架入门使用教程
Feb 15 PHP
php 5.4 全新的代码复用Trait详解
Jan 05 PHP
Laravel框架Auth用户认证操作实例分析
Sep 29 PHP
PDO实现学生管理系统
Mar 21 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 #PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 #PHP
PHP实现生成模糊图片的方法示例
Dec 21 #PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
Dec 21 #PHP
在云虚拟主机部署thinkphp5项目的步骤详解
Dec 21 #PHP
php获取微信共享收货地址的方法
Dec 21 #PHP
php实现socket推送技术的示例
Dec 20 #PHP
You might like
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
php 参数过滤、数据过滤详解
2015/10/26 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
PHP 中提示undefined index如何解决(多种方法)
2016/03/16 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
file控件选择上传文件确定后触发的js事件是哪个
2014/03/17 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
js随机生成网页背景颜色的方法
2015/02/26 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
Angular中ng-options下拉数据默认值的设定方法
2017/06/21 Javascript
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
nodejs使用redis作为缓存介质实现的封装缓存类示例
2018/02/07 NodeJs
JavaScript 有用的代码片段和 trick
2018/02/22 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
Python实现简单的四则运算计算器
2016/11/02 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
2018/12/05 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
百思买加拿大:Best Buy Canada
2018/03/20 全球购物
环境工程大学生个人的自我评价
2013/10/08 职场文书
win10双系统怎么删除一个系统?win10电脑有两个系统删除一个的操作方法
2022/07/15 数码科技