igorw/evenement

Événement is a very simple event dispatching library for PHP.

PHP

1,359

197 commits

updated Dec 26, 2025

See the code

README

Événement

Événement is a very simple event dispatching library for PHP.

It has the same design goals as Silex and Pimple, to empower the user while staying concise and simple.

It is very strongly inspired by the EventEmitter API found in node.js.

Continuous Integration Latest Stable Version Total Downloads License

Fetch

The recommended way to install Événement is through composer. By running the following command:

    $ composer require evenement/evenement

Usage

Creating an Emitter

<?php
$emitter = new Evenement\EventEmitter();

Adding Listeners

<?php
$emitter->on('user.created', static function (User $user) use ($logger): void {
    $logger->log(sprintf("User '%s' was created.", $user->getLogin()));
});

Removing Listeners

<?php
$emitter->removeListener('user.created', static function (User $user) use ($logger): void {
    $logger->log(sprintf("User '%s' was created.", $user->getLogin()));
});

Emitting Events

<?php
$emitter->emit('user.created', [$user]);

Tests

    $ ./vendor/bin/phpunit

License

MIT, see LICENSE.

igorw/evenement

Événement is a very simple event dispatching library for PHP.

PHP

1,359

197 commits

updated Dec 26, 2025

See the code

README

Événement

Événement is a very simple event dispatching library for PHP.

It has the same design goals as Silex and Pimple, to empower the user while staying concise and simple.

It is very strongly inspired by the EventEmitter API found in node.js.

Continuous Integration Latest Stable Version Total Downloads License

Fetch

The recommended way to install Événement is through composer. By running the following command:

    $ composer require evenement/evenement

Usage

Creating an Emitter

<?php
$emitter = new Evenement\EventEmitter();

Adding Listeners

<?php
$emitter->on('user.created', static function (User $user) use ($logger): void {
    $logger->log(sprintf("User '%s' was created.", $user->getLogin()));
});

Removing Listeners

<?php
$emitter->removeListener('user.created', static function (User $user) use ($logger): void {
    $logger->log(sprintf("User '%s' was created.", $user->getLogin()));
});

Emitting Events

<?php
$emitter->emit('user.created', [$user]);

Tests

    $ ./vendor/bin/phpunit

License

MIT, see LICENSE.

Project health

Overall

2.9/10

Maintained

0/10

Code review

6/10
OpenSSF Scorecard

Significant stargazers

Nicolas Grekas

2,153 followers · starred Dec 2017

Oskar Stark

327 followers · starred Feb 2025

Kris Wallsmith

1,015 followers · starred Aug 2011

Romain Neutron

415 followers · starred Dec 2017