事件
简介
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);
查看更多 Laravel 中文文档 信息