open-engine/event-dispatcher

0.1.0 2019-01-12 22:22 UTC

This package is auto-updated.

Last update: 2024-09-13 23:38:20 UTC


README

Latest Stable Version Code Quality Code intelligence License

事件调度器

事件

事件可以是任何类

调度某些事件

$dispatcher = new EventDispatcher($listenerProvier);
$event = $dispatcher->dispatch(new FooEvent());

为某些事件添加监听器

$config = new ListenerProviderConfig();

$config->addListener(FooEvent::class, function (FooEvent $event) {
    // do somthing
    return $event;
}, 20);

$config->addListener(FooEvent::class, '\Acme\listeners\AnotherListener::methodName');

// add another listeners 

$listenerProvider = new ListenerProvider($config);

添加监听器方法参数

  • $eventClass 字符串 - 事件名称。它始终等于事件类名称
  • $listener 可调用 - 监听器是任何只有一个参数 $event 的可调用对象。监听器必须返回相同的 $event
  • $priority 整数 - 可选。默认为 1000。0 是最高优先级