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 正则 过滤html 的超链接
Jun 02 PHP
使用PHP计算两个路径的相对路径
Jun 14 PHP
php+mysqli实现批量替换数据库表前缀的方法
Dec 29 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
May 25 PHP
PHP获取一年有几周以及每周开始日期和结束日期
Aug 06 PHP
jQuery+php简单实现全选删除的方法
Nov 28 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
Feb 05 PHP
php事务回滚简单实现方法示例
Mar 28 PHP
php之可变函数的实例详解
Sep 13 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
PHP大文件分块上传功能实例详解
Jul 22 PHP
Laravel 创建指定表 migrate的例子
Oct 09 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
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
PHP高级OOP技术演示
2009/08/27 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
yii操作cookie实例简介
2014/07/09 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
PHP常用的小程序代码段
2015/11/14 PHP
php生成curl命令行的方法
2015/12/14 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
jquery、js调用iframe父窗口与子窗口元素的方法整理
2014/07/31 Javascript
js Calender控件使用详解
2015/01/05 Javascript
简单讲解AngularJS的Routing路由的定义与使用
2016/03/05 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
Angular使用ng-messages与PHP进行表单数据验证
2016/12/28 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
Python2.7下安装Scrapy框架步骤教程
2017/12/22 Python
Python图形绘制操作之正弦曲线实现方法分析
2017/12/25 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
python爬虫库scrapy简单使用实例详解
2020/02/10 Python
python str字符串转uuid实例
2020/03/03 Python
使用python实现学生信息管理系统
2021/02/25 Python
Html5游戏开发之乒乓Ping Pong游戏示例(一)
2013/01/21 HTML / CSS
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
牦牛毛户外探险服装:Kora
2019/02/08 全球购物
2014年商场国庆节活动策划方案
2014/09/16 职场文书
党员作风建设自查报告
2014/10/23 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
基于JavaScript实现年月日三级联动
2021/06/22 Javascript
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS