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 3行代码的分页算法(求起始页和结束页)
Oct 21 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
Aug 31 PHP
PHP生成数组再传给js的方法
Aug 07 PHP
PHP生成唯一订单号
Jul 05 PHP
摘自织梦CMS的HTTP文件下载类
Aug 08 PHP
php生成验证码函数
Oct 20 PHP
php curl模拟post请求和提交多维数组的示例代码
Nov 19 PHP
php类的自动加载操作实例详解
Sep 28 PHP
PHP反射机制原理与用法详解
Feb 15 PHP
laravel框架模型、视图与控制器简单操作示例
Oct 10 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
Oct 25 PHP
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
Apr 01 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三元运算的2种写法代码实例
2014/05/12 PHP
php单一接口的实现方法
2015/06/20 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
jquery 表单取值常用代码
2009/12/22 Javascript
javascript URL编码和解码使用说明
2010/04/12 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
2016/10/12 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
2017/10/25 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
antd table按表格里的日期去排序操作
2020/11/17 Javascript
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
在Django中输出matplotlib生成的图片方法
2018/05/24 Python
Python列表推导式与生成器用法分析
2018/08/02 Python
python实现求特征选择的信息增益
2018/12/18 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
详解Python基础random模块随机数的生成
2019/03/23 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
高中自我鉴定
2013/12/20 职场文书
企业投资意向书
2015/05/09 职场文书
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android