返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >thinkphp的事件绑定、监听和订阅怎么使用
  • 441
分享到

thinkphp的事件绑定、监听和订阅怎么使用

2023-06-30 01:06:43 441人浏览 泡泡鱼
摘要

这篇文章主要介绍了thinkPHP的事件绑定、监听和订阅怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇thinkphp的事件绑定、监听和订阅怎么使用文章都会有所收获,下面我们一起来看看吧。事件是什么事件

这篇文章主要介绍了thinkPHP的事件绑定、监听和订阅怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇thinkphp的事件绑定、监听和订阅怎么使用文章都会有所收获,下面我们一起来看看吧。

事件是什么

事件相比较中间件的优势是事件比中间件更加精准定位(或者说粒度更细),并且更适合一些业务场景的扩展。例如,我们通常会遇到用户注册或者登录后需要做一系列操作,通过事件系统可以做到不侵入原有代码完成登录的操作扩展,降低系统的耦合性的同时,还能完成业务的需求。

TP6中事件的使用

官网的解释,没有实例,这里简单的告诉大家如何使用,会使用之后再去发现更多操作

1.事件监听

  • 命令行生成监听 php think make:listener UserLogin

一般建议直接在事件定义文件(event.php)中定义对应事件的监听。

return [    'bind'    =>    [        'UserLogin' => 'app\event\UserLogin',        // 更多事件绑定    ],    'listen'  =>    [        'UserLogin'    =>    ['app\listener\UserLogin'],        // 更多事件监听    ],];

2.事件订阅

  • 命令行php think make:subscribe User
    默认会生成app\subscribe\User类,或者你可以指定完整类名生成。

<?phpnamespace app\subscribe;class User{    public function onUserLogin($user)    {        // UserLogin事件响应处理    }    public function onUserLoGout($user)    {        // UserLogout事件响应处理    }}

3.自定义订阅

如果希望自定义订阅方式(或者方法规范),可以定义subscribe方法实现。

<?phpnamespace app\subscribe;use think\Event;class User{    public function onUserLogin($user)    {        // UserLogin事件响应处理    }    public function onUserLogout($user)    {        // UserLogout事件响应处理    }    public function subscribe(Event $event)    {        $event->listen('UserLogin', [$this,'onUserLogin']);        $event->listen('UserLogout',[$this,'onUserLogout']);    }}

然后在事件定义文件注册事件订阅者

return [    'bind'    =>    [        'UserLogin' => 'app\event\UserLogin',        // 更多事件绑定    ],    'listen'  =>    [        'UserLogin'    =>    ['app\listener\UserLogin'],        // 更多事件监听    ],    'subscribe'    =>    [       'app\subscribe\User',        // 更多事件订阅    ],];

事件触发

// 触发UserLogin事件 用于执行用户登录后的一系列操作Event::trigger('UserLogin');或者使用助手函数event('UserLogin');

关于“thinkphp的事件绑定、监听和订阅怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“thinkphp的事件绑定、监听和订阅怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网PHP编程频道。

--结束END--

本文标题: thinkphp的事件绑定、监听和订阅怎么使用

本文链接: https://lsjlt.com/news/327006.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • thinkphp的事件绑定、监听和订阅怎么使用
    这篇文章主要介绍了thinkphp的事件绑定、监听和订阅怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇thinkphp的事件绑定、监听和订阅怎么使用文章都会有所收获,下面我们一起来看看吧。事件是什么事件...
    99+
    2023-06-30
  • Java Web3J :使用web3j监听、查询、订阅智能合约的事件
    前面有文章写如何使用Docker-compose方式部署blockscout浏览器+charts图表,区块链浏览器已经部署成功了,同时我们在链上增加了治理投票流程,如何实时的把治理事件快速同步到浏...
    99+
    2023-09-10
    java web3 智能合约 websocket 笔记 经验分享 maven
  • 使用layui监听器监听select下拉框,事件绑定不成功怎么办
    这篇文章主要为大家展示了“使用layui监听器监听select下拉框,事件绑定不成功怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“使用layui监听器监听...
    99+
    2024-04-02
  • JavaScript怎么利用发布订阅模式编写事件监听函数
    这篇“JavaScript怎么利用发布订阅模式编写事件监听函数”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaScri...
    99+
    2023-07-06
  • JavaScript利用发布订阅模式编写事件监听函数
    目录背景示例基于Vue的eventHub背景 大家有没有遇到过这种情况,想要写一个事件监听函数,当某个事件被触发的时候,会自动执行这个监听函数,类似: on('changeText'...
    99+
    2023-05-15
    JavaScript实现事件监听函数 JavaScript事件监听函数 JavaScript事件监听
  • 使用Spring怎么监听事件
    使用Spring怎么监听事件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、观察者模式先来看下观察者模式,举个例子警察和军人是观察者,犯罪嫌疑人是被观察者代码实现:定义被观察...
    99+
    2023-06-15
  • Vue的addEventListener()监听事件怎么使用
    本篇内容介绍了“Vue的addEventListener()监听事件怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、语法eleme...
    99+
    2023-07-04
  • springboot事件监听器怎么使用
    本篇内容介绍了“springboot事件监听器怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!引导案例下面看一个简单的案例,@Conf...
    99+
    2023-07-02
  • Redis中的发布订阅和事务怎么使用
    本篇内容主要讲解“Redis中的发布订阅和事务怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis中的发布订阅和事务怎么使用”吧!发布订阅redis的发布订阅系统有点类似于我们生活中...
    99+
    2023-06-19
  • vue双向绑定的订阅器怎么实现
    这篇文章主要介绍“vue双向绑定的订阅器怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue双向绑定的订阅器怎么实现”文章能帮助大家解决问题。在Vue.js中,双向数据绑定是其最为重要也是最...
    99+
    2023-07-06
  • 在Canvas上的图形/图像绑定事件监听的实现方法
    这篇文章主要介绍在Canvas上的图形/图像绑定事件监听的实现方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!HTML中只能为元素/标签绑定监听函数;Canvas绘图中只有一个元素-canvas,每一个图形/图像都...
    99+
    2023-06-09
  • 详解Vue3中Watch监听事件的使用
    目录一、watch的使用1、引入watch2、多个数据源监听3、监听数组变化4、侦听对象5、结论一、watch的使用 watch(WatcherSource, Callback, [...
    99+
    2023-02-10
    Vue3 Watch监听事件使用 Vue3 Watch监听 Vue3 Watch
  • 怎么在Java中使用GUI中的事件绑定
    怎么在Java中使用GUI中的事件绑定?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。...
    99+
    2023-05-30
    java gui
  • jQuery中on绑定的事件怎么解绑
    这篇文章主要介绍了jQuery中on绑定的事件怎么解绑的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jQuery中on绑定的事件怎么解绑文章都会有所收获,下面我们一起来看看吧。解绑单个事件在jQuery中,我们...
    99+
    2023-07-05
  • jmeter的OOM和监听器怎么使用
    这篇文章主要讲解了“jmeter的OOM和监听器怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jmeter的OOM和监听器怎么使用”吧!OOM在执行压测的时候,有时候会遇到 OutO...
    99+
    2023-06-05
  • C#基于自定义事件EventArgs怎么实现发布订阅模式
    这篇文章主要介绍“C#基于自定义事件EventArgs怎么实现发布订阅模式”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C#基于自定义事件EventArgs怎么实现发布订阅模式”文章能帮助大家解决问...
    99+
    2023-06-30
  • SpringBoot ApplicationListener事件监听接口使用问题怎么解决
    这篇文章主要介绍“SpringBoot ApplicationListener事件监听接口使用问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot Ap...
    99+
    2023-07-05
  • Flutter事件监听与EventBus事件应用的方法是什么
    这篇文章主要介绍“Flutter事件监听与EventBus事件应用的方法是什么”,在日常操作中,相信很多人在Flutter事件监听与EventBus事件应用的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-07-06
  • jquery怎么绑定事件调用函数
    这篇文章主要讲解了“jquery怎么绑定事件调用函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery怎么绑定事件调用函数”吧! ...
    99+
    2024-04-02
  • Bootstrap滚动监听插件怎么使用
    这篇文章主要介绍了Bootstrap滚动监听插件怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Bootstrap滚动监听插件怎么使用文章都会有所收获,下面我们一起来看看吧。一、用法您可以向顶部导航添加滚...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作