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实现的获取URL信息的类
Jan 02 PHP
一些 PHP 管理系统程序中的后门
Aug 05 PHP
php.ini中date.timezone设置分析
Jul 29 PHP
php环境套包 dedeampz 伪静态设置示例
Mar 26 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
PHP中使用虚代理实现延迟加载技术
Nov 05 PHP
php实现用手机关闭计算机(电脑)的方法
Apr 22 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
Apr 03 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
Apr 27 PHP
PHP实现的AES双向加密解密功能示例【128位】
Sep 03 PHP
PHP中ltrim()函数的用法与实例讲解
Mar 28 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 flv视频时间获取函数
2010/06/29 PHP
在PHP中使用curl_init函数的说明
2010/11/02 PHP
PHP安装memcached扩展笔记
2015/05/28 PHP
jquery last-child 列表最后一项的样式
2010/01/22 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
js获取Get值的方法
2016/09/29 Javascript
js获取一组日期中最近连续的天数
2017/05/25 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
JS实现星星海特效
2019/12/24 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
python实现基本进制转换的方法
2015/07/11 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
scrapy爬虫实例分享
2017/12/28 Python
python读取各种文件数据方法解析
2018/12/29 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
Gap中国官网:美式休闲风服饰
2017/02/05 全球购物
Madewell澳大利亚官方网站:美国休闲服饰品牌
2019/07/18 全球购物
公关关系专员的自我评价分享
2013/11/20 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
社区挂职锻炼个人工作总结
2015/10/23 职场文书
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python