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
smarty+adodb+部分自定义类的php开发模式
Dec 31 PHP
php下通过伪造http头破解防盗链的代码
Jul 03 PHP
php页码形式分页函数支持静态化地址及ajax分页
Mar 28 PHP
如何让thinkphp在模型中自动完成session赋值小教程
Sep 05 PHP
是 WordPress 让 PHP 更流行了 而不是框架
Feb 03 PHP
jquery+thinkphp实现跨域抓取数据的方法
Oct 15 PHP
浅谈php中curl、fsockopen的应用
Dec 10 PHP
php7 安装yar 生成docker镜像
May 09 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
php项目中类的自动加载实例讲解
Sep 12 PHP
PHP数组访问常用方法解析
Sep 05 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技巧与注意事项分析
2011/02/03 PHP
PHP 观察者模式的实现代码
2013/05/10 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
JavaScript 动态生成方法的例子
2009/07/22 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
JS数组合并push与concat区别分析
2015/12/17 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
python操作gmail实例
2015/01/14 Python
Python多线程编程简单介绍
2015/04/13 Python
利用Python如何生成随机密码
2016/04/20 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
python实现C4.5决策树算法
2018/08/29 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
美国知名艺术画网站:Art.com
2017/02/09 全球购物
Paul’s Boutique官网:英国时尚手袋品牌
2018/03/31 全球购物
Notino芬兰:购买香水和化妆品
2019/04/15 全球购物
百货商场楼层班组长竞聘书
2014/03/31 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
乡镇平安建设汇报材料
2014/08/25 职场文书
行政介绍信范文
2015/05/04 职场文书
旅游投诉信范文
2015/07/02 职场文书
MySQL 服务和数据库管理
2021/11/11 MySQL
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL
为Centos安装指定版本的Docker
2022/04/01 Servers