>  기사  >  백엔드 개발  >  [ Lumen 5.2 文档 ] 更多特性 -- 事件

[ Lumen 5.2 文档 ] 更多特性 -- 事件

WBOY
WBOY원래의
2016-06-20 12:37:111055검색

1、简介

Lumen事件提供了简单的观察者模式实现,允许你订阅和监听应用中的事件。事件类通常存放在 app/Events目录,监听器存放在 app/Listeners。

2、和Laravel的区别

通常,Lumen中的事件函数和Laravel几乎一样,所以关于其使用可参考Laravel事件文档。Lumen也支持事件广播,从而允许你在客户端JavaScript中监听服务器端的事件。需要指出的是Lumen和Laravel的事件还是有一点区别。

生成器

在Lumen中,没有提供生成事件和监听器类的Artisan命令,所以你需要拷贝 ExampleEvent或 ExampleListener来自定义事件类和监听器类。

注册事件/监听器

和Laravel框架一样,Lumen内置 EventServiceProvider用于注册所有事件监听器。 listen属性是一个包含了所有事件(keys)及其对应监听器(values)的数组,你可以将应用的所有事件都添加到这个数组:

/** * The event listener mappings for the application. * * @var array */protected $listen = [    'App\Events\ExampleEvent' => [        'App\Listeners\ExampleListener',    ],];

触发事件

你可以在应用中使用辅助函数 event或Event门面来触发事件,这些方法调用和Laravel一样:

event(new ExampleEvent);Event::fire(new ExampleEvent);
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.