事件

未匹配的标注
本文档最新版为 6.x,旧版本可能放弃维护,推荐阅读最新版!

事件

简介

Lumen 事件提供了简单的侦听器实现,允许你订阅和监听事件,事件类通常被保存在 app/Events 目录下,而它们的侦听器被保存在 app/Listeners 目录下。

不同于 Laravel

Lumen 和 Laravel 事件除了接下来会列出来的不同点以外,功能上没有什么区别,所以更多关于 Lumen 事件的使用,请参阅 Laravel 文档

生成器

Lumen 中没有可用来生成事件监听器的命令,你可以复制 ExampleEvent 或者 ExampleListener 文件,这两个示例文件提供了基础的类结构,你可以作为参考。

注册事件或侦听器

你可以在 EventServiceProvider 注册所有的事件侦听器。listen 属性是一个数组,包含所有事件(键)以及事件对应的侦听器(值),你也可以根据需求增加事件到这个数组,例如:让我们增加 PodcastWasPurchased 事件:

/**
 * 应用程序的事件侦听器映射。
 *
 * @var array
 */
protected $listen = [
    'App\Events\ExampleEvent' => [
        'App\Listeners\ExampleListener',
    ],
];

触发事件

如果要触发一个事件,你可以使用 Event facade 来发送一个事件的实例到 fire 方法。fire 方法将会发送事件到所有已经注册的侦听器上。或者可以使用 全局 event 辅助函数来触发事件:

event(new ExampleEvent);

Event::fire(new ExampleEvent);

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~