事件

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

事件

简介

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

与 Laravel 的差异

通常,Lumen 中的事件方法恰好与 Laravel 全栈框架功能一致,所以,请阅读完整的 Laravel 文档 。Lumen 同样支持事件广播,它允许客户端的 JavaScript 监听服务端的事件。然而,这里还是有些差异值得讨论。

生成器

Lumen 中没有可以用来生成事件和监听器的命令,你可以通过简单复制 ExampleEvent 或者 ExampleListener 文件来定义你自己的事件和监听器,这两个示例文件提供了每个事件和监听器的基础类结构。

注册事件或监听器

像 Laravel 框架一样,Lumen 应用内置的 EventServiceProvider 提供了一个注册所有事件监听器的地方。 listen 属性是一个数组,它包含了所有的事件(键)和监听器(值)。所以,你可以根据应用程序的需要添加事件到这个数组:

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

触发事件

你可以使用 event 辅助函数或者 Event 门面在 Lumen 应用程序中触发事件。同样,这些函数的行为与 Laravel 框架一致:

event(new ExampleEvent);

Event::dispatch(new ExampleEvent);

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

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/lumen/5.7/event...

译文地址:https://learnku.com/docs/lumen/5.7/event...

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


暂无话题~