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 相关文章推荐
如何将数据从文本导入到mysql
Oct 09 PHP
PHP如何解决网站大流量与高并发的问题
Jun 25 PHP
IIS6.0中配置php服务全过程解析
Aug 07 PHP
php文件上传的简单实例
Oct 19 PHP
php实现分页工具类分享
Jan 09 PHP
神盾加密解密教程(三)PHP 神盾解密工具
Jun 08 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
Aug 21 PHP
php的ZipArchive类用法实例
Oct 20 PHP
php准确计算复活节日期的方法
Apr 18 PHP
php实现表单多按钮提交action的处理方法
Oct 24 PHP
PHP实现的AES双向加密解密功能示例【128位】
Sep 03 PHP
laravel添加前台跳转成功页面示例
Oct 22 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定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
PHP数据对象PDO操作技巧小结
2016/09/27 PHP
jquery给图片添加鼠标经过时的边框效果
2013/11/12 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
jQuery验证插件 Validate详解
2014/11/20 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
2015/08/20 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
微信小程序使用navigateTo数据传递的实例
2017/09/26 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
[50:54]完美世界DOTA2联赛 GXR vs IO 第三场 11.07
2020/11/10 DOTA
[36:33]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.29
2020/12/02 DOTA
Python CSV模块使用实例
2015/04/09 Python
Python中的localtime()方法使用详解
2015/05/22 Python
Python3 max()函数基础用法
2019/02/19 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
解决pytorch 数据类型报错的问题
2021/03/03 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
影视制作岗位职责
2013/12/04 职场文书
成语的广告词
2014/03/19 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
会计专业自荐信
2014/06/03 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
护士业务学习心得体会
2016/01/25 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python