# event **Repository Path**: fiberphp/event ## Basic Information - **Project Name**: event - **Description**: 📡 FiberPHP 事件调度器 —— PSR-14 标准实现。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-26 - **Last Updated**: 2026-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # fiberphp/event 📡 FiberPHP 事件调度器 —— PSR-14 标准实现。 ## 安装 ```bash composer require fiberphp/event ``` ## 使用 ### 静态门面(推荐) ```php use FiberPHP\Event\Event; // 注册监听器 Event::on(UserRegistered::class, function (UserRegistered $event) { // 处理用户注册事件... }); // 派发事件 Event::dispatch(new UserRegistered('pangbin')); ``` 门面惰性创建内置 `EventDispatcher` + `ListenerProvider` 组合,纯库场景零配置可用。 ### 直接使用核心类 ```php 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 时中断传播