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脚本的10个技巧(8)
Oct 09 PHP
PHP程序员最常犯的11个MySQL错误小结
Nov 20 PHP
PHP 设置MySQL连接字符集的方法
Jan 02 PHP
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
May 19 PHP
CURL的学习和应用(附多线程实现)
Jun 03 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
PHP+MYSQL中文乱码问题
Jul 01 PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 PHP
php生成二维码图片方法汇总
Dec 17 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
Apr 20 PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 27 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获取从百度搜索进入网站的关键词的详细代码
2014/01/08 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
实现音乐播放器的代码(html5+css3+jquery)
2015/08/04 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
React学习笔记之列表渲染示例详解
2017/08/22 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
详解使用angular框架离线你的应用(pwa指南)
2019/01/31 Javascript
python基础教程之udp端口扫描
2014/02/10 Python
Python的time模块中的常用方法整理
2015/06/18 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
python书籍信息爬虫实例
2018/03/19 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
python数据归一化及三种方法详解
2019/08/06 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
2020/03/08 Python
css3实现画半圆弧线的示例代码
2017/11/06 HTML / CSS
Baracuta官方网站:Harrington夹克,G9,G4,G10等
2018/03/06 全球购物
社团成立邀请函
2014/01/08 职场文书
职业规划书如何设计?
2014/01/09 职场文书
运动会邀请函范文
2014/02/06 职场文书
求职面试个人自我评价
2014/02/28 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
高中家长寄语
2014/04/02 职场文书
标准毕业生自荐信
2014/06/24 职场文书
机电系毕业生求职信
2014/07/11 职场文书
高中生国庆节演讲稿范文2014
2014/09/21 职场文书
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android