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 相关文章推荐
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
Mar 29 PHP
理解php Hash函数,增强密码安全
Feb 25 PHP
php模板中出现空行解决方法
Mar 08 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
Oct 31 PHP
Php Ctemplate引擎开发相关内容
Mar 03 PHP
php求正负数数组中连续元素最大值示例
Apr 11 PHP
PHP批量去除BOM头代码分享
Jun 26 PHP
详解PHP错误日志的获取方法
Jul 20 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 PHP
php表单文件iframe异步上传实例讲解
Jul 26 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
Yii1.1框架实现PHP极光推送消息通知功能
Sep 06 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
PHP5 安装方法
2006/10/09 PHP
php 结果集的分页实现代码
2009/03/10 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
Javascript调用XML制作连动下拉列表框
2006/06/25 Javascript
jquery 简单导航实现代码
2009/09/11 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
浅谈函数调用的不同方式,以及this的指向
2017/09/17 Javascript
jQuery实现点击图标div循环放大缩小功能
2018/09/30 jQuery
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
微信小程序tabbar底部导航
2018/11/05 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
Node.js系列之安装配置与基本使用(1)
2019/08/30 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
JS轮播图的实现方法2
2020/08/25 Javascript
Python中函数的用法实例教程
2014/09/08 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
python抓取文件夹的所有文件
2018/02/27 Python
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
python经典趣味24点游戏程序设计
2019/07/26 Python
python实现超市商品销售管理系统
2019/11/22 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
2013/03/25 HTML / CSS
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
捐助倡议书范文
2014/04/15 职场文书
八年级英语教学计划
2015/01/23 职场文书
使用 Apache 反向代理的设置技巧
2022/01/18 Servers