fiberphp / event
📡 FiberPHP 事件调度器 —— PSR-14 标准实现(EventDispatcher + ListenerProvider)。
dev-master
2026-09-30 10:38 UTC
Requires
- php: >=8.3
- psr/event-dispatcher: ^1.0
Requires (Dev)
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^11.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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 时中断传播