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.ini中文版(1)
Oct 09 PHP
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
php smarty模版引擎中的缓存应用
Dec 02 PHP
PHP通过header实现文本文件下载的代码
Aug 08 PHP
apache php模块整合操作指南
Nov 16 PHP
Yii实现多数据库主从读写分离的方法
Dec 29 PHP
php实现递归的三种基本方式
Jul 04 PHP
ThinkPHP中html:list标签用法分析
Jan 09 PHP
nginx下安装php7+php5
Jul 31 PHP
PHP基于反射机制实现插件的可插拔设计详解
Nov 10 PHP
利用PHP判断是否是连乘数字串的方法示例
Jul 03 PHP
php intval函数用法总结
Apr 14 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 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
深入分析js的冒泡事件
2014/12/05 Javascript
JavaScript声明变量名的语法规则
2015/07/10 Javascript
用JavaScript实现PHP的urlencode与urldecode函数
2015/08/13 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
jquery 实现回车登录详解及实例代码
2016/10/23 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
2018/11/14 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
python语言使用技巧分享
2016/05/31 Python
关于Python面向对象编程的知识点总结
2017/02/14 Python
用python实现对比两张图片的不同
2018/02/05 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
python 自动轨迹绘制的实例代码
2019/07/05 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
python文字转语音实现过程解析
2019/11/12 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
利用CSS3 动画 绘画 圆形动态时钟
2018/03/20 HTML / CSS
美国性感女装网站:bebe
2017/03/04 全球购物
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
室内设计专业学生的自我评价分享
2013/11/27 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
python 命令行传参方法总结
2021/05/25 Python
Redis Lua脚本实现ip限流示例
2022/07/15 Redis