PHPackages                             aweitian/event - 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. aweitian/event

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

aweitian/event
==============

event dispatcher

1.0.0(7y ago)0841MITPHPPHP &gt;=5.3.0

Since Sep 15Pushed 7y ago1 watchersCompare

[ Source](https://github.com/aweitian/event)[ Packagist](https://packagist.org/packages/aweitian/event)[ Docs](https://github.com/aweitian/event)[ RSS](/packages/aweitian-event/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (1)

安装
--

[](#安装)

> composer require aweitian/event

代码基本借鉴symfony
-------------

[](#代码基本借鉴symfony)

事件的几个基本概念
---------

[](#事件的几个基本概念)

- 事件，事件有一个是否停止冒泡属性，事件在派遣过程中按优先级从高到低调用LISTENER，如果事件【停止冒泡】为真，停止调用下一个LISTENER
- LISTENER，可被call\_user\_func函数调用即可的CALLBACK。形参：$event, $eventName, $DISPATCHER。
- 订阅者，可以理解成一个人，他有一个清单，清单上有TA感兴趣的事件列表，所以添加订阅者就是根据清单添加LISTENER
- DISPATCHER，相当于一个机构，TA负责EMIT/DISPATCH事件，【订阅者】也找TA订阅事件，当事件到来时，它负责通知订阅者（调用订阅者那清单）

订阅者清单格式
-------

[](#订阅者清单格式)

- 事件名 =&gt; 字符串 这个字符串作为订阅者的一个方法
- 事件名 =&gt; \[字符串,priority\] 这个字符串作为订阅者的一个方法
- 事件名 =&gt; \[\[字符串\],\[字符串,priority\],...\] 这个字符串作为订阅者的一个方法

LISTENER的返回值没有意义
----------------

[](#listener的返回值没有意义)

addListener
-----------

[](#addlistener)

> 函数返回了LISTENER，可以用于removeListener,这个和symfony不同

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2799d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2f29043b8f5aebb2d7a34302c1bc1626bd711398bb0c5387cd8630b45057a4c9?d=identicon)[awei.tian](/maintainers/awei.tian)

---

Top Contributors

[![aweitian](https://avatars.githubusercontent.com/u/6269615?v=4)](https://github.com/aweitian "aweitian (4 commits)")

---

Tags

eventdispatcher

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/aweitian-event/health.svg)

```
[![Health](https://phpackages.com/badges/aweitian-event/health.svg)](https://phpackages.com/packages/aweitian-event)
```

###  Alternatives

[contributte/event-dispatcher

Best event dispatcher / event manager / event emitter for Nette Framework

292.4M19](/packages/contributte-event-dispatcher)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
