Search by

fiberphp / event

fiberphp

📡 FiberPHP 事件调度器 —— PSR-14 标准实现(EventDispatcher + ListenerProvider)。

Package info

gitee.com/fiberphp/event.git

Issues

pkg:composer/fiberphp/event

Statistics

Installs: 1

Dependents: 1

Suggesters: 0

dev-master 2026-09-30 10:38 UTC

This package is auto-updated.

Last update: 2026-09-30 12:51:54 UTC


README

📡 FiberPHP 事件调度器 —— PSR-14 标准实现。

安装

composer require fiberphp/event

使用

静态门面(推荐)

use FiberPHP\Event\Event;

// 注册监听器
Event::on(UserRegistered::class, function (UserRegistered $event) {
    // 处理用户注册事件...
});

// 派发事件
Event::dispatch(new UserRegistered('pangbin'));

门面惰性创建内置 EventDispatcher + ListenerProvider 组合,纯库场景零配置可用。

直接使用核心类

use FiberPHP\Event\EventDispatcher;
use FiberPHP\Event\ListenerProvider;

$provider = new ListenerProvider();
$provider->on(UserRegistered::class, function (UserRegistered $event) {
    // 处理用户注册事件...
});

$dispatcher = new EventDispatcher($provider);
$dispatcher->dispatch(new UserRegistered('pangbin'));

PSR-14 兼容

实现 Psr\EventDispatcher\EventDispatcherInterface 与 ListenerProviderInterface:

  • EventDispatcher::dispatch(object $event): object —— 依次调用监听器,返回事件对象
  • ListenerProvider::getListenersForEvent(object $event): iterable —— instanceof 匹配,支持子类与接口继承
  • 事件实现 Psr\EventDispatcher\StoppableEventInterface 且 isPropagationStopped() 为 true 时中断传播