PHPackages                             raylin666/event-dispatcher - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. raylin666/event-dispatcher

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

raylin666/event-dispatcher
==========================

An event dispatching system with PSR-14.

v1.0.0(5y ago)03Apache-2.0PHPPHP &gt;=7.2

Since Mar 7Pushed 5y ago1 watchersCompare

[ Source](https://github.com/raylin666/php-event-dispatcher)[ Packagist](https://packagist.org/packages/raylin666/event-dispatcher)[ Docs](https://github.com/raylin666/event-dispatcher)[ RSS](/packages/raylin666-event-dispatcher/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

PSR-14 事件派发与监听器
===============

[](#psr-14-事件派发与监听器)

[![GitHub release](https://camo.githubusercontent.com/ff45af0e8db4b0d7ea96fe5ceb569fd4c48ef1fad6d892fa5a0a8f671c4f5e0b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f7261796c696e3636362f6576656e742d646973706174636865722e737667)](https://github.com/raylin666/event-dispatcher/releases)[![PHP version](https://camo.githubusercontent.com/8531f574818f8e867b96b4a7ce2a3f6117a627c5ed4c94aa28f50e8eacb3fa05/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253230372e322d6f72616e67652e737667)](https://github.com/php/php-src)[![GitHub license](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](#LICENSE)

### 环境要求

[](#环境要求)

- PHP &gt;=7.2

### 安装说明

[](#安装说明)

```
composer require "raylin666/event-dispatcher"

```

### 使用方式

[](#使用方式)

#### event 是一个事件派发系统。它派发一个事件，并以优先级顺序调用预先定义的事件处理程序。

[](#event-是一个事件派发系统它派发一个事件并以优先级顺序调用预先定义的事件处理程序)

事件系统由以下5个概念构成：

```
事件 (Event): Event 是事件信息的载体，它往往围绕一个动作进行描述，例如 “用户被创建了”、“准备导出 excel 文件” 等等，Event 的内部需要包含当前事件的所有信息，以便后续的处理程序使用。
监听器 (Listener): Listener 是事件处理程序，负责在发生某一事件(Event)时执行特定的操作。
Listener Provider: 它负责将事件(Event)与监听器(Listener)进行关联，在触发一个事件时，Listener Provider 需要提供绑定在该事件上的所有监听器。
派发器 (Dispatcher): 负责通知某一事件发生了。我们所说的“向某一目标派发一个事件”，这里的“目标”指的是 Listener Provider，也就是说，Dispatcher 向 Listener Provider 派发了 Event。
订阅器 (Subscriber): 订阅器是 Listener Provider 的扩展，它可以将不同的事件和订阅器里的方法进行自由绑定，这些操作都在订阅器内部进行，这样可以将同类事件的绑定与处理内聚，便于管理。

```

```
