exan / eventer
Event emitting library
Installs: 1 381
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires (Dev)
- phpmd/phpmd: ^2.13
- phpunit/phpunit: ^10.1
- squizlabs/php_codesniffer: ^3.7
- symfony/var-dumper: ^6.2
README
Object oriented event emitter for PHP
For the majority of projects, you should probably use evenement/evenement
. This may in some instances produce hard to follow code, in which case this approach may be more desirable.
Install
composer require exan/eventer
Example usage
class SomeEvent implements EventInterface { public function __construct($myFirstArg, $mySecondArg) { } public static function getEventName(): string { return 'Some Event'; } public function filter(): bool { return true; // return false to skip execution } public function execute(): void { // Your event handling code } }
$eventer = new Eventer(); $eventer->register(SomeClass::class); // Listen to events regularly $eventer->registerOnce(SomeClass::class); // Listen to a single event $eventer->before(SomeClass::class); // Listen to events regularly, executed before events registered with `register` $eventer->beforeOnce(SomeClass::class); // Listen to a single event, executed before events registered with `register` $eventer->emit('Some Event', ['my first arg', 'my second arg']);