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调用三种数据库的方法(2)
Oct 09 PHP
php echo 输出字符串函数详解
May 13 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
Nov 04 PHP
phpnow php探针环境检测代码
Nov 04 PHP
smarty内置函数capture用法分析
Jan 22 PHP
护卫神php套件 php版本升级方法(php5.5.24)
May 10 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 PHP
深入理解PHP原理之执行周期分析
Jun 01 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
Feb 24 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
Laravel框架实现的使用smtp发送邮件功能示例
Mar 12 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 24 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 class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
php创建session的方法实例详解
2015/01/27 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
微信公众平台开发实现2048游戏的方法
2015/04/15 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
PHP正则表达式匹配替换与分割功能实例浅析
2017/02/04 PHP
PHP fclose函数用法总结
2019/02/15 PHP
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
解决eclipse中没有js代码提示的问题
2018/10/10 Javascript
vue实现路由不变的情况下,刷新页面操作示例
2020/02/02 Javascript
js制作提示框插件
2020/12/24 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
Python处理文本换行符实例代码
2018/02/03 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
2019/01/08 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
python 瀑布线指标编写实例
2020/06/03 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
Python 图片处理库exifread详解
2021/02/25 Python
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
工程力学专业毕业生求职信
2013/10/06 职场文书
大学生新闻专业个人自我评价
2013/11/12 职场文书
小区停车场管理制度
2014/01/27 职场文书
大学生党员承诺书
2014/05/20 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书