Skip to content

benit8/event-emitter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Event emitter

An event emitter that supports namespaces.

Installing

$ composer require benit8/event-emitter

Usage

You can either extend the EventEmitter class or use the EventEmitterTrait. An interface EventEmitterInterface is also available.

use Benit8\EventEmitter\EventEmitterTrait;

class MyReactor
{
	use EventEmitterTrait;
}

Reference

Adding listeners

$ev->on('user.created', function ($user) {
	// Fired every time a 'user.created' event is emitted
});

$ev->on('user', function ($user) {
	// Listening to all 'user.*' events
});

Adding one-shot listeners

$ev->once('user.created', function ($user) {
	// Will remove itself after firing
});

Emitting events

$user = new User(/* ... */);

// Will trigger 'user.created' and 'user' listeners
$ev->emit('user.created', $user);

Removing a listener

$ev->removeListener('user.created', $myCallable);

Removing all listeners

// All listeners
$ev->removeAllListeners();

// Subset listeners
$ev->removeAllListeners('user');

About

PHP event emitter with namespaces

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages