PHPackages                             eventbus-interop/eventbus-interop - 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. eventbus-interop/eventbus-interop

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

eventbus-interop/eventbus-interop
=================================

Interoperability interface definitions for event buses

0.1.3(8y ago)349MITPHPPHP &gt;=5.6

Since Jul 13Pushed 8y agoCompare

[ Source](https://github.com/php-eventbus-interop/event-bus-interop)[ Packagist](https://packagist.org/packages/eventbus-interop/eventbus-interop)[ RSS](/packages/eventbus-interop-eventbus-interop/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (4)Dependencies (1)Versions (5)Used By (0)

event-bus-interop
=================

[](#event-bus-interop)

[![code_quality_img](https://camo.githubusercontent.com/3bedb2a05b2cfd511cdac0a6e87c0ca8650a926acc171de3211c41003ea22afa/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f7068702d6576656e746275732d696e7465726f702f6576656e742d6275732d696e7465726f702e737667 "Scrutinizer Code Quality")](https://scrutinizer-ci.com/g/php-eventbus-interop/event-bus-interop/?branch=master)[![license_img](https://camo.githubusercontent.com/2ec11e16eb9698da6eccc587f377b05775e7787f9de19ec7c7b267c3b143551e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6576656e746275732d696e7465726f702f6576656e746275732d696e7465726f702e737667 "License")](https://packagist.org/packages/eventbus-interop/eventbus-interop)[![twitter_img](https://camo.githubusercontent.com/25e3507bbe81f763f5792d81fbdb5838660ffe9dcc03235ce5ed4958844bea18/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f747769747465722d253430736872696b65682d626c75652e737667 "@shrikeh on Twitter")](https://twitter.com/shrikeh)

Interfaces for interoperability between event bus implementations.

Overview
--------

[](#overview)

There are a number of event buses available within PHP, and they all slightly differ in their implementations, while also enforcing that any all events are derived from their interfaces or classes.

This is an effort to have *all* event buses use common interfaces that allow interoperability between emitters, events and listeners.

Requirements
------------

[](#requirements)

The library requires PHP 5.6 or greater.

Installation
------------

[](#installation)

Installation is via [composer](https://getcomposer.org/):

```
composer require eventbus-interop/eventbus-interop
```

The packages adheres to the [SemVer](http://semver.org/) specification, and there will be full backward compatibility between minor versions.

The library contains several interfaces for usage by event buses:

### EventInterface

[](#eventinterface)

The interface defines three methods for an event to implement: `name()`, `isPropagationStopped()`, and `stopPropagation()`.

### ListenerInterface

[](#listenerinterface)

The interface defines one public method, `handle()`, which takes an EventInterface as it's single argument.

### EmitterInterface

[](#emitterinterface)

This defines three methods: `emit()`, which accepts multiple events as a [variadic](http://php.net/manual/en/functions.arguments.php#functions.variable-arg-list). `emitName()` and `emitEvent()` are used to type hint. A trait, `EmitterTrait`, proxies the individual events received in the variadic created by `emit()` to the corresponding method as appropriate.

### ListenerAcceptorInterface

[](#listeneracceptorinterface)

This defines a simple method, `addListener()`, which accepts three arguments: the event ID to bind the event to, the listener itself, and an optional integer priority.

Credits
-------

[](#credits)

The event bus interop project has been heavily influenced by the work of the [container-interop](https://github.com/container-interop/container-interop) project, which led to a robust unification of the various DI containers within the PHP community.

###  Health Score

25

—

LowBetter than 36% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity51

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

Every ~20 days

Total

4

Last Release

3214d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/62ab3e34ffd6ff72a98201ef7fc4f803077e7b25d62f39c81257b27d3467e273?d=identicon)[shrikeh](/maintainers/shrikeh)

---

Top Contributors

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

---

Tags

eventevent-driveneventbusphp-library

### Embed Badge

![Health badge](/badges/eventbus-interop-eventbus-interop/health.svg)

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

PHPackages © 2026

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