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将向Java靠拢
Oct 09 PHP
如何在PHP中使用Oracle数据库(5)
Oct 09 PHP
MYSQL环境变量设置方法
Jan 15 PHP
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 PHP
Wordpress php 分页代码
Oct 21 PHP
PHP模块 Memcached功能多于Memcache
Jun 14 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
ThinkPHP模板IF标签用法详解
Jul 01 PHP
php抓取并保存网站图片的实现代码
Oct 28 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 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连接mysql数据库代码
2009/03/10 PHP
php中++i 与 i++ 的区别
2012/08/08 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
PHP中exec与system用法区别分析
2014/09/22 PHP
PHP扩展模块memcached长连接使用方法分析
2014/12/24 PHP
php字符串替换函数substr_replace()用法实例
2015/03/17 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
jquery-mobile表单的创建方法详解
2016/11/23 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
2016/12/12 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
2014/04/25 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
使用Matplotlib 绘制精美的数学图形例子
2019/12/13 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
应用电子专业学生的自我评价
2013/10/16 职场文书
销售经理岗位职责
2014/03/16 职场文书
感谢信模板大全
2015/01/23 职场文书
单位租车协议书
2015/01/29 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
Html5调用企业微信的实现
2021/04/16 HTML / CSS
golang 语言中错误处理机制
2021/08/30 Golang
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技