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动态变静态原理
Nov 25 PHP
php采集速度探究总结(原创)
Apr 18 PHP
PHP HTML代码串 截取实现代码
Jun 29 PHP
重新封装zend_soap实现http连接安全认证的php代码
Jan 12 PHP
php通用防注入程序 推荐
Feb 26 PHP
基于php设计模式中工厂模式详细介绍
May 15 PHP
php fsockopen解决办法 php实现多线程
Jan 20 PHP
php中hashtable实现示例分享
Feb 13 PHP
Yii入门教程之目录结构、入口文件及路由设置
Nov 25 PHP
php实现多城市切换特效
Aug 09 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 PHP
PHP抽象类与接口的区别实例详解
May 09 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 allow_url_include的应用和解释
2010/04/22 PHP
PHP自定义函数收代码
2010/08/01 PHP
php中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
有关PHP性能优化的介绍
2013/06/20 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
php中in_array函数用法分析
2014/11/15 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
PHP实现通过文本文件统计页面访问量功能示例
2019/02/13 PHP
jquery 经典动画菜单效果代码
2010/01/26 Javascript
JavaScript中的prototype使用说明
2010/04/13 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
jQuery四种选择器使用及示例
2016/06/05 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
JavaScript箭头函数中的this详解
2019/06/19 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
Python内置的字符串处理函数整理
2013/01/29 Python
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
python hash每次调用结果不同的原因
2019/11/21 Python
Python实现自动访问网页的例子
2020/02/21 Python
python3.7调试的实例方法
2020/07/21 Python
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
如何查询Oracle数据库中已经创建的索引
2013/10/11 面试题
婚前财产协议书范本
2014/10/19 职场文书
财政局个人年终总结
2015/03/03 职场文书
课题研究阶段性总结
2015/08/13 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书