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新手上路(十二)
Oct 09 PHP
PHP+XML 制作简单的留言本 图文教程
Nov 02 PHP
七款最流行的PHP本地服务器分享
Feb 19 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
Aug 16 PHP
memcache命令启动参数中文解释
Jan 13 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
Aug 06 PHP
PHP正则表达式之捕获组与非捕获组
Nov 06 PHP
Yii实现简单分页的方法
Apr 29 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
Feb 08 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
Mac下关于PHP环境和扩展的安装详解
Oct 17 PHP
laravel 错误处理,接口错误返回json代码
Oct 25 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
简单的页面缓冲技术
2006/10/09 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
2016/07/15 PHP
thinkPHP实现签到功能的方法
2017/03/15 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
jquery中交替点击事件toggle方法的使用示例
2013/12/08 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
JavaScript实现form表单的多文件上传
2020/03/27 Javascript
JS+canvas绘制的动态机械表动画效果
2017/09/12 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
详解vue静态资源打包中的坑与解决方案
2018/02/05 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
python文本数据处理学习笔记详解
2019/06/17 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
python 调整图片亮度的示例
2020/12/03 Python
Speedo美国:澳大利亚顶尖泳衣制造商
2016/08/03 全球购物
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
ProBikeKit澳大利亚:自行车套件,跑步和铁人三项装备
2016/11/30 全球购物
美国在线印刷公司:PsPrint
2017/10/12 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
有模特经验的简历自我评价
2013/09/19 职场文书
中学家长会邀请函
2014/01/17 职场文书
协议书的格式
2014/04/23 职场文书
共筑中国梦演讲稿
2014/04/23 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
2014年个人技术工作总结
2014/12/08 职场文书
汇报材料怎么写
2014/12/30 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
七个非常实用的Python工具包总结
2021/06/15 Python
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android