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的安全策略
Oct 09 PHP
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
php fsockopen解决办法 php实现多线程
Jan 20 PHP
php过滤HTML标签、属性等正则表达式汇总
Sep 22 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
PHP实现微信网页授权开发教程
Jan 19 PHP
让你的PHP7更快之Hugepage用法分析
May 31 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
Jul 03 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 PHP
解决Laravel使用验证时跳转到首页的问题
Nov 17 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 随机生成10位字符代码
2009/03/26 PHP
php 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
PHP遍历数组的方法汇总
2015/04/30 PHP
JS getStyle获取最终样式函数代码
2010/04/01 Javascript
jQuery数据显示插件整合实现代码
2011/10/24 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
vue-resource 拦截器(interceptor)的使用详解
2017/07/04 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
2018/08/12 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
2018/12/05 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
2018/12/10 Javascript
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
Python logging模块学习笔记
2014/05/24 Python
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
Python 使用PIL numpy 实现拼接图片的示例
2018/05/08 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
CSS3新增布局之: flex详解
2020/06/18 HTML / CSS
法国时尚童装网站:Melijoe
2016/08/10 全球购物
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
实习生体会的自我评价范文
2013/11/28 职场文书
我爱读书演讲稿
2014/05/07 职场文书
英文邀请函
2015/02/02 职场文书
应聘教师求职信范文
2015/03/20 职场文书
2015年助理工程师工作总结
2015/04/03 职场文书
销售合作意向书范本
2015/05/08 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
详细聊聊vue中组件的props属性
2021/11/02 Vue.js