外贸网站个性设计,金坛网站建设价格,动漫设计专业学校,建立微信公众号的流程① 事件模式必须基于 PSR-14 去实现。 ② Hyperf 的事件管理器默认由 hyperf/event 实现,该组件亦可用于其它框架或应用,只需通过 Composer 将该组件引入即可,默认已安装。 composer require hyperf/event一、概念
事件模式是一种非常适用于解耦的机制,分别存在以下 3 种角… ① 事件模式必须基于 PSR-14 去实现。 ② Hyperf 的事件管理器默认由 hyperf/event 实现,该组件亦可用于其它框架或应用,只需通过 Composer 将该组件引入即可,默认已安装。 composer require hyperf/event一、概念
事件模式是一种非常适用于解耦的机制,分别存在以下 3 种角色:
事件(Event) 是传递于应用代码与 监听器(Listener) 之间的通讯对象。监听器(Listener) 是用于监听 事件(Event) 的发生的监听对象。事件调度器(EventDispatcher) 是用于触发 事件(Event) 和管理 监听器(Listener) 与 事件(Event) 之间的关系的管理者对象二、实现
1. 定义一个事件(Event)
一个事件其实就是一个用于管理状态数据的普通类。触发时将应用数据传递到事件里,然后监听器对事件类进行操作。一个事件可被多个监听器监听。文件:app\Event\UserRegistered?php
namespace App\Event;class UserRegistered
{public function __construct(public $userId){$this-userId = $userId;}
}2. 定义一个监听器(Listener)
监听器都需要实现一下 Hyperf\Event\Contract\ListenerInterface 接口的约束方法。文件:app\Listener\SendSmsListener注:注解与配置的方式 二者只需使用其一即可,如果既有注解又有配置,则会造成监听器被多次触发。(1) 通过注解 Listener 注册 监听器
?php
namespace App\Listener;use