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

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

olvlvl/event-dispatcher
=======================

PSR-14 Event Dispatcher implementation

v1.0.0(4y ago)112BSD-3-ClausePHPPHP &gt;=7.2

Since Jul 16Pushed 3y ago1 watchersCompare

[ Source](https://github.com/olvlvl/event-dispatcher)[ Packagist](https://packagist.org/packages/olvlvl/event-dispatcher)[ RSS](/packages/olvlvl-event-dispatcher/feed)WikiDiscussions main Synced today

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

olvlvl/event-dispatcher
=======================

[](#olvlvlevent-dispatcher)

[![Release](https://camo.githubusercontent.com/78d1ab2d8cd2151169ec2b7e6e37128905719c41f410f95c6d45c36733b67c04/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6f6c766c766c2f6576656e742d646973706174636865722e737667)](https://packagist.org/packages/olvlvl/event-dispatcher)[![Packagist](https://camo.githubusercontent.com/58678339fa11f9ea47b3b63dcc02aa95cf1e868e0f67570cd7c83e004cee0892/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6f6c766c766c2f6576656e742d646973706174636865722e737667)](https://packagist.org/packages/olvlvl/event-dispatcher)[![Code Quality](https://camo.githubusercontent.com/504ca72662a02bb89a1c4ef7c9cbdd627c645f679bc76b5ea337b511cc95028c/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f6f6c766c766c2f6576656e742d646973706174636865722e737667)](https://scrutinizer-ci.com/g/olvlvl/event-dispatcher)[![Code Coverage](https://camo.githubusercontent.com/d61a6072b40a7f8aaa3ffb54d916015960278428ab9141c50a76d651c7f09375/68747470733a2f2f696d672e736869656c64732e696f2f636f766572616c6c732f6f6c766c766c2f6576656e742d646973706174636865722e737667)](https://coveralls.io/r/olvlvl/event-dispatcher)

`olvlvl/event-dispatcher` provides an implementation of [psr/event-dispatcher](https://www.php-fig.org/psr/psr-14/), which establishes a common mechanism for event-based extension and collaboration.

#### Package highlights

[](#package-highlights)

- Supports Event inheritance, including interfaces.
- Supports stoppable Events.
- Provides a collection of composable Event Dispatchers and Listener Providers.
- Introduces Mutable Listener Providers.
- Provides a compiler pass for [symfony/dependency-injection](https://github.com/symfony/dependency-injection), with priorities and relatives.

#### Installation

[](#installation)

```
composer require olvlvl/event-dispatcher
```

Event Dispatcher
----------------

[](#event-dispatcher)

An Event Dispatcher is a service object that is given an Event object by an Emitter. The Dispatcher is responsible for ensuring that the Event is passed to all relevant Listeners, but MUST defer determining the responsible listeners to a Listener Provider.

### Basic Event Dispatcher

[](#basic-event-dispatcher)

`BasicEventDispatcher` is a basic implementation of an Event Dispatcher, that complies with the [requirements for Dispatchers](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-14-event-dispatcher.md#dispatcher).

```
