返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Thinkphp6.0事件
  • 871
分享到

Thinkphp6.0事件

php服务器前端 2023-08-31 06:08:01 871人浏览 安东尼
摘要

本节课我们来学习一下要使用一下系统提供的事件。 一.事件 1. 事件和中间件有一点相似,只不过事件更加的精准定位更细腻的业务场景; 2. 事件可定义:事件类、事件监听类、事件订阅类; 3. 我们先创

本节课我们来学习一下要使用一下系统提供的事件。

一.事件

1. 事件和中间件有一点相似,只不过事件更加的精准定位更细腻的业务场景; 2. 事件可定义:事件类、事件监听类、事件订阅类; 3. 我们先创建一个测试事件的类: TestEvent.PHP ,手动创建一个测试类;
public function __construct(){//注册监听器Event::listen('TestListen', function ($param) {echo '我是监听器,我被触发了!'.$param;});}public function info(){echo '登录前准备!';Event::trigger('TestListen', 'ok');//触发监听器event('TestListen');//助手函数触发}
4. 我们也可以使用监听类来设计监听器,使用命令行创建;
php think make:listener TestListenpublic function info(){echo '登录前准备!';Event::listen('TestListen', TestListen::class); //这句可以定义到配置文件Event::trigger('TestListen');}
5. app/event.php 中, listen 是配置监听类的,配置方式如下:
'listen'=> ['TestListen'=> [\app\listener\TestListen::class]],
6. 而监听类被触发会自动执行 handle() 方法,实现监听功能;
public function handle($event){echo '我是监听类!'.$event;}
7. 系统还内置了系统触发的事件,只要满足条件就会自动触发; 8. 事件监听类,可以同时监听多个监听类,只要绑定到一个标识符即可;
'TestListen'=> [\app\listener\TestListen::class,\app\listener\TestOne::class,\app\listener\TestTwo::class]
9. 对于需要多个监听,监听类不够灵活,而且类会创建很多,可以使用订阅类; 10. 订阅类就是将监听事件作为内部的方法用 on+ 方法名来实现;
php think make:subscribe UserSubclass UserSub{public function onUserLogin(){echo '处理登录后的监听!';}public function onUserLoGout(){echo '处理退出后的监听!';}}
11. 然后,我们直接去 app/event.php 注册一下;
'subscribe' => ['UserSub'=> \app\subscribe\UserSub::class,],
12. 然后,两个方法分别监听两个事件方法,直接调用方法名即可;
public function login(){echo '登录成功!';Event::trigger('UserLogin');}public function logout(){echo '退出成功!';Event::trigger('UserLogout');}
13. 对于事件类,很少有场景需要使用它,毕竟系统提供的各种精确方案较多;
php think make:event UserEventclass UserEvent{public function __construct(){echo '我是事件类!';}}Event::trigger(new UserEvent());

来源地址:https://blog.csdn.net/qq_34820433/article/details/130102925

--结束END--

本文标题: Thinkphp6.0事件

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

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

猜你喜欢
  • Thinkphp6.0事件
    本节课我们来学习一下要使用一下系统提供的事件。 一.事件 1. 事件和中间件有一点相似,只不过事件更加的精准定位更细腻的业务场景; 2. 事件可定义:事件类、事件监听类、事件订阅类; 3. 我们先创...
    99+
    2023-08-31
    php 服务器 前端
  • Thinkphp6.0中间件怎么用
    这篇文章主要介绍Thinkphp6.0中间件怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!0中间件分为系统中间件和应用中间件,系统中间件为核心框架内置的中间件,应用中间件是在应用里面创建的中间件。中间件的主要应...
    99+
    2023-06-21
  • Thinkphp6.0中间件的具体使用
    目录全局中间件应用中间件路由中间件控制器中间件中间件传参0中间件分为系统中间件和应用中间件,系统中间件为核心框架内置的中间件,应用中间件是在应用里面创建的中间件。 中间件的主要应用场景可以包括对HTTP请求的数据过滤、权限检测、请求拦截等行...
    99+
    2021-01-07
    Thinkphp6.0中间件 Thinkphp 中间件
  • ThinkPHP6.0 Session 问题
    自已为了学习TP6,写了一个登录管理界面,用户名、密码、验证码。前几天还可以正常登录,验证码也正常,不知道自己怎么想的,或许是手贱吧!把Cookie和Session一起用,前段时间登录正常,今天心血来潮想再玩玩,就打开phpstudy,启动...
    99+
    2023-09-06
    服务器 运维 php thinkphp6 TP6
  • ThinkPHP6.0前置、后置中间件区别
    目录1. 创建中间件2. 注册中间件3. 前置、后置中间件4. 前置、后置中间件的区别5. 后置中间件登录拦截器(不推荐)6. 前置中间件登录拦截器(推荐使用)1. 创建中间件 命令行创建中间件类文件示例 // app\middlewa...
    99+
    2021-11-08
    ThinkPHP前置中间件 ThinkPHP后置中间件
  • thinkphp6.0如何安装
    今天小编给大家分享一下thinkphp6.0如何安装的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先,我们需要在本地环境上...
    99+
    2023-07-05
  • thinkphp6.0连接mqtt进行通信
    一、引入mqtt库 git地址:https://github.com/bluerhinos/phpMQTT 我这边没用composer引入,直接把库里面的phpMQTT.php代码复制出来,改了个名字...
    99+
    2023-09-07
    php 开发语言
  • ThinkPHP6.0 workerman/mqtt 与phpMQTT配合使用
    第一步:下载phpMQTT扩展下载地址,然后放在了扩展文件夹中 第二步:下载  workerman/mqtt 官方地址  通过composer进行安装 composer require workerman/mqtt 因为我是之前有用wo...
    99+
    2023-09-04
    PHP MQTT workerman linux Mosquitto
  • ThinkPHP6.0入门知识点有哪些
    本篇内容主要讲解“ThinkPHP6.0入门知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ThinkPHP6.0入门知识点有哪些”吧!一.框架介绍ThinkPHP是一个免费开源的,快...
    99+
    2023-07-02
  • thinkPhP6.0安装教程图解--PHP框架安装
    ThinkPhP 6.0 安装 1.环境检查 首先,thinkphp6.0,要求php的环境是7.2.5及以上的,所以先检查自己的php环境是否符合要求。 在cmd命令窗口中输入php -v 或者没...
    99+
    2023-09-06
    php apache 开发语言
  • ThinkPHP6.0 入门【一】,安装,运行,测试,配置
    学习目标 框架介绍安装过程运行测试开发规范目录结构开启调试模式配置信息 一.框架介绍 ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以...
    99+
    2023-10-03
    php 开发语言
  • mysql事件之修改事件、禁用事件、启用事件、事件重命名及数据库事件迁移操作的示例分析
    这篇文章主要为大家展示了“mysql事件之修改事件、禁用事件、启用事件、事件重命名及数据库事件迁移操作的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“m...
    99+
    2024-04-02
  • ThinkPHP6.0学习入门:环境搭建与安装教程
     ThinkPHP6.0的环境要求如下: PHP >= 7.1.06.0版本开始,ThinkPHP必须通过Composer方式安装和更新。 环境搭建: 可使用phpEnv软件快捷生成TP6所需的集成环境,包含了PHP7.4语言,Apache...
    99+
    2023-09-07
    php 改行学it
  • javascript事件冒泡,事件捕获和事件委托详解
    1、事件冒泡:在javascript事件传播过程中,当事件在一个元素上出发之后,事件会逐级传播给先辈元素,直到document为止,有的浏览器可能到window为止。并不是所有的事件...
    99+
    2024-04-02
  • 基于事件冒泡、事件捕获和事件委托详解
    事件冒泡、事件捕获和事件委托 在javascript里,事件委托是很重要的一个东西,事件委托依靠的就是事件冒泡和捕获的机制,我先来解释一下事件冒泡和事件捕获: 事件冒泡会从当前触发...
    99+
    2024-04-02
  • js事件流、事件委托与事件阶段实例详解
    目录前言1、事件流2、事件处理程序3、事件对象4、跨浏览器事件处理5、事件委托总结前言 JavaScript 与 HTML 的交互是通过事件实现的,事件代表文档或浏览器窗口中某个有意...
    99+
    2024-04-02
  • 10046事件
    Oracle的10046事件,可以跟踪应用程序所执行的SQL语句,并且得到其解析次数.执行次数,CPU使用时间等信息。这对我们分析、定位数据库性能问题是非常有用的。 10046 event是oracle用...
    99+
    2024-04-02
  • Node.js 事件
    Node.js 事件Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。Node.js 里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件, 一个fs.readStream对象会在...
    99+
    2023-06-03
  • MySQL事件
    文章目录 事件介绍事件调度查询事件调度状态开关事件调度(临时)开关事件调度(永久) 事件使用创建事件语法子句分析执行计划子句事件主体子句 查询事件修改事件删除事件 ...
    99+
    2023-08-20
    mysql 数据库
  • js事件流、事件委托与事件阶段的示例分析
    这篇文章主要介绍了js事件流、事件委托与事件阶段的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、事件流HTML 中与 javascript 交互是通过事件驱动来实...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作