thinkphp5的钩子怎么用

thinkphp5的钩子怎么用

1、创建钩子行为

我们自己定义的标签位可以直接放在ThinkBehaviors中,也可以放在应用目录中,比如说Home模块下,新建一个Behaviors的文件夹,在文件夹内新建:

标签名+Behavior.class.PHP

注:需要带Behavior的原因,见代码:  

立即学习“PHP免费学习笔记(深入)”;

static public function exec($name, $tag,&$params=NULL) {    if('Behavior' == substr($name,-8) ){      // 行为扩展必须用run入口方法      $tag  =  'run';    }    $addon  = new $name();    return $addon->$tag($params);}

相关推荐:《ThinkPHP教程》

在这里我自己自定义的标签名是My  

namespace Behavior;use ThinkBehavior;class MyBehavior extends Behavior{  public function run(&$arg){    echo 'Thinkphp 中的'.$arg['name'].'功能,'.$arg['value'].'中...';  }}

注意类名大小写

AppMall应用商店 AppMall应用商店

AI应用商店,提供即时交付、按需付费的人工智能应用服务

AppMall应用商店 56 查看详情 AppMall应用商店

2、将钩子添加进钩子集中

方法一(手动注册):直接在控制器中添加:

Hook::add('addd','BehavioradBehavior');

方法二(自动注册):

在Conf文件夹里面(完整路径D:hinkpplicationHomeConfags.php,当然这是我的情况)tags.php的内容: 

return array(//'action_begin'=>array('HomeBehaviorstest','HomeBehaviorstest'), //一个标签位可以有多个行为,使用数组即可。 // 如果是3.2.1版本 则需要改成 // 'action_begin'=>array('HomeBehaviorstestBehavior','HomeBehaviorstestBehavior'), 'my'=>array('BehaviorsMyBehavior'));

3、添加监听(我这里才用模板中直接监听使用)

此处如果报找不到hook方法,请在ThinkPHP/Common/functions.php中添加(当然也可以在其他公共文件): 

function hook($hook,$params= array()){  ThinkHook::listen($hook,$params);}

最后在模板中使用:  

{:hook('my', array('name'=>'钩子','value'=>'学习'))}

以上就是thinkphp5的钩子怎么用的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/213092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月3日 13:31:07
下一篇 2025年11月3日 13:41:37

相关推荐

  • ThinkPHP6事件与钩子使用指南:实现触发与监听

    ThinkPHP6事件与钩子使用指南:实现触发与监听 概述在开发过程中,我们经常需要处理一些事件,比如在用户注册成功后发送邮件提醒,或者在商品下架后更新缓存等等。为了更好地管理这些事件,ThinkPHP6 提供了事件与钩子机制,使得事件的触发与监听可以更加灵活和方便。 一、事件与监听器事件是指程序执…

    2025年12月1日
    100
  • 一文讲解thinkphp5如何进行异步验证邮箱

    thinkphp框架教程栏目将给大家介绍thinkphp5使用bootstrapvalidator进行异步验证邮箱的方法,希望对需要的朋友有所帮助! TP5使用bootstrapvalidator进行异步验证邮箱 Remusic Remusic – 免费的AI音乐、歌曲生成工具 514 …

    2025年11月27日 PHP框架
    000
  • thinkphp5如何开启错误调试

    thinkphp5如何开启错误调试?方法如下: 方法一、在application下面的配置文件config.php中把调试模式改为true。 相关推荐:《ThinkPHP教程》 立即学习“PHP免费学习笔记(深入)”; 方法二、在应用的ROOT_PATH目录下面定义.env文件,并且定义APP_DE…

    2025年11月25日 PHP框架
    000
  • 详解ThinkPHP5实现极验滑动验证码geetest功能

    下面由thinkphp教程栏目给大家详解thinkphp5实现极验滑动验证码geetest功能,希望对需要的朋友有所帮助! ThinkPHP5实现极验滑动验证码geetest功能 现在很多网站,比如淘宝,京东等都改用使用极验拖动验证码实现登录,这种方式比传统的验证码方式有更好的体验,减少用户输入的错…

    2025年11月25日 PHP框架
    000
  • 解析ThinkPHP5如何引入Go AOP和PHP AOP编程

    ThinkPHP5 引入 Go AOP,PHP AOP编程 项目背景 目前开发的web软件里有这一个功能,php访问api操作数据仓库,刚开始数据仓库小,没发现问题,随着数据越来越多,调用api时常超时(60s)。于是决定采用异步请求,改为60s能返回数据则返回,不能则返回一个异步id,然后轮询是否…

    2025年11月25日 PHP框架
    000
  • TP框架中的钩子怎么配置调用(附代码实例)

    下面thinkphp框架教程栏目将给大家介绍关于thinkphp中钩子的两种配置调用方法,希望对需要的朋友有所帮助! thinkphp的钩子行为类是一个比较难以理解的问题,网上有很多写thinkphp钩子类的文章,我也是根据网上的文章来设置thinkphp的钩子行为的,但根据这些网上的文章,我在设置…

    2025年11月25日 PHP框架
    000
  • thinkphp5是什么

    thinkphp v5.0是一个为api开发而设计的高性能框架——是一个颠覆和重构版本,采用全新的架构思想,引入了很多的php新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对api开发做了大量的优化。  ThinkPHP5是一个全新的里程碑版本,包括路由、日志、异常…

    2025年11月23日
    000
  • thinkphp3和thinkphp5的区别

    thinkphp3和thinkphp5的区别?下面给大家介绍一下两者的不同之处: 一、thinkphp3.2和thinkphp5之间的使用差异 1、过去的单字母函数已完全被替换掉,如下: S=>cache,C=>config,M/D=>model,U=>url,I=>i…

    2025年11月23日
    000
  • thinkphp5多语言怎么切换

    thinkphp5多语言进行切换的步骤: 第一步,在配置文件中开启多语言配置。 第二步,创建多语言目录。 立即学习“PHP免费学习笔记(深入)”; 相关推荐:《ThinkPHP教程》 第三步,编写语言包。 视图代码: 控制器代码: 效果如下: 以上就是thinkphp5多语言怎么切换的详细内容,更多…

    2025年11月23日 PHP框架
    000
  • thinkPHP5如何使用rabbitmq

    thinkPHP5如何使用rabbitmq? 安装好 tp5 的 rabbitmq 扩展后,在项目根目录文件添加文件 rabbitmq.php 引导启动 rabbitmq。 <?phpdefine('APP_PATH', __DIR__ . '/applicati…

    2025年11月23日
    000
  • thinkphp5如何读取配置文件的数据

    首先打开编辑器sublime。 然后找到应用目录下的config文件。 立即学习“PHP免费学习笔记(深入)”; 相关推荐:《ThinkPHP教程》 随便选取一个配置参数,比如我们想要读取配置参数app_namespace。 来到控制器里面。 在控制器里面新建一个方法test2。 在方法里面我们利用…

    2025年11月23日 PHP框架
    000
  • thinkphp5如何套用主题

    thinkphp5套用主题的方法: 配置项: ‘DEFAULT_THEME’=>’default’,//默认主题 ‘THEME_LIST’=>’default,theme’,//主题列表 ‘TMPL_DETECT_THEME’=>true//开启自动侦测模版主题 相关推荐:《Thi…

    2025年11月23日
    000
  • thinkphp5怎么上传图片

    前后台代码对应,前台的代码name对应后台的值,获取到需要上传的信息。 上传流程很简单,接收上传的信息,把数据用move方法传到指定位置,然后成功后回调就可以了,注意步骤: 立即学习“PHP免费学习笔记(深入)”; 相关推荐:《ThinkPHP教程》 自己封装的上传,接收传过来的name值,然后获取…

    2025年11月23日 PHP框架
    000
  • thinkphp5怎么做分页

    其实分页自身的内容也不是很多。不过牵扯到样式的问题感觉挺烦。于是找到了分页类看了一下。把大体的结构说一下。如果有需要修改页面样式的可以自行修改样式。最好提前备份,防止意外。 首先是分页的调用,tp5的调用相对非常容易: $mod = new appindexmodelBlogmsg();$mo = …

    2025年11月23日
    000
  • thinkphp5的优点是什么

    php框架有助于促进快速应用开发,不仅节省时间,有助于建立更稳定的应用,而且,减少了重复代码的开发。 通常认为PHP框架的作用相当于模型,控制器,视图。(mvc) 相关推荐:《ThinkPHP教程》 thinkphp5.0的优点 立即学习“PHP免费学习笔记(深入)”; ①中国人开发,更加符合我们的…

    2025年11月23日
    000
  • thinkphp钩子是什么意思

    首先,钩子是一种触发机制,如同一个陷阱,当程序运行到某个地方时就会触发这个陷阱,然后执行这个hook,执行完成后,系统根据执行的不同结果继续进行。 那么,thinkphp钩子(Hook)机制的原理是什么呢? 1、框架在ThinkThink->start()方法中调用Hook类中的import方…

    2025年11月22日
    000
  • ThinkPHP5-使用 think-API 部署 JWT

    因为下一个项目要用 tp5 开发一个小程序,所以就使用到了,tp 框架,因为小程序开发需要后台来编写 api 接口,所以就上网查了一下有没有相关的依赖,在此推荐一下 think-api 扩展工具,因为主要想使用其中的 jwt 功能来判断小程序用户的登录状态,下面就以本人的项目为例,简单和大家聊一下,…

    2025年11月22日
    500
  • thinkphp5支持swoole携程吗

    首先,了解一下thinkphp的运行机制。 TP5运行机制: 任何请求都会经过tp5的入口文件,载入框架的配置文件,启动进程,然后处理请求。 在这个index.php的入口文件中,可以看到,它先定义的APP_PATH这个常量,然后引入的框架的启动文件start.php,那我们就去看下start.ph…

    2025年11月22日 PHP框架
    000
  • thinkphp5支持oracle吗

    首先,我们知道php是完全支持oracle的,那么作为php框架的thinkphp5也是完全可以支持oracle的。 thinkphp5如何连接oracle? 数据库:ray 表的结构:ray_user CREATE TABLE IF NOT EXISTS ray_user (user_id int…

    2025年11月22日
    000
  • thinkphp5有什么用

    thinkphp5有什么用? ThinkPHP5作用 ThinkPHP V5.0是一个为API开发而设计的高性能框架——是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化。 Think…

    2025年11月22日
    000

发表回复

登录后才能评论
关注微信