事件
事件
简介
Lumen 的事件提供了一个简单的监听器实现,允许你在应用程序中对事件进行订阅和监听。事件类通常都被保存在 app/Events
目录下,而监听类都被保存在 app/Listeners
目录下。
与 Larvel 的不同之处
一般来说,Lumen中的事件很像 Laravel 全栈框架的功能,所以请阅读完整的 Laravel 文档。在 Lumen 中也支持事件广播,它允许客户端的 JavaScript 去监听服务端的事件。然而,这里还是有些差异值得讨论。
生成器
在 Lumen 框架中,不再有用来生成事件和监听器的命令,因此你可以通过简单的复制 ExampleEvent
或者 ExampleListener
类来定义你自己的事件和监听器。这两个示例文件提供了每个事件和监听器的基础类结构。
注册事件/监听器
像 Laravel 框架一样, EventServiceProvider
类提供了一个注册所有事件监听器的地方。 listen
属性是一个包含了所有的事件(键)和监听器(值)的数组。当然,你可以根据应用程序的需要添加事件到这个数组:
/**
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
'App\Events\ExampleEvent' => [
'App\Listeners\ExampleListener',
],
];
触发事件
你可以在应用程序中使用 event
辅助函数或者 Event
的门面去触发事件。同样这些函数的行为与 Laravel 框架一致:
event(new ExampleEvent);
Event::dispatch(new ExampleEvent);
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。