nuXed/事件调度器

nuXed 事件调度器

安装: 163

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 3

分支: 0

开放问题: 0

语言:Hack

v2.1.0 2020-11-17 21:32 UTC

This package is auto-updated.

Last update: 2024-09-22 07:07:37 UTC


README

Coding standards status Static analysis status Unit tests status Total Downloads Latest Stable Version License

nuXed 事件调度器

事件调度器组件提供工具,允许应用程序组件通过异步地派发和监听事件相互通信。

安装

此包可以使用Composer安装。

$ composer require nuxed/event-dispatcher

示例

use namespace Nuxed\EventDispatcher;
use namespace Nuxed\EventDispatcher\ListenerProvider;

<<__EntryPoint>>
async function main(): Awaitable<void> {
  $provider = new ListenerProvider\AttachableListenerProvider();

  $provider->listen<SomeEvent>(new SomeEventListener());
  $provider->listen<SomeOtherEvent>(new SomeOtherEventListener());

  $dispatcher = new EventDispatcher\EventDispatcher($provider);

  // dispatch multiple event listeners concurrently
  concurrent {
    // returns the event that was passed, now modified by listeners.
    $someEvent = await $dispatcher->dispatch<SomeEvent>(new SomeEvent());
    $someOtherEvent = await $dispatcher->dispatch<SomeOtherEvent>(new SomeOtherEvent());
  }
}

安全

有关在 nuXed 中报告安全漏洞的信息,请参阅SECURITY.md

许可证

nuXed 是开源软件,采用 MIT 许可证。