mahadazad / event-manager
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/mahadazad/event-manager
Requires
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2025-10-07 08:55:48 UTC
README
This is an easy to use event manager library. Which you can utilize to create event driven application.
Installation:
use composer to install the library, in your composer.json:
{ "require": { "mahadazad/event-manager": "dev-master" } }
or run
php composer.phar require "mahadazad/event-manager":"dev-master"
How To Use?
simply instansiate the EventManager object:
use EventManager\EventManager; $em = new EventManager(); // $em->attach(event_name, callable, priority); $handler1 = $em->attach('say.hello', function () { return 'hello'; }, 10); $handler2 = $em->attach('say.hello', function () { return 'hello!!!'; }, 200); $handler3 = $em->attach('say.hello', function () { return 'heeellloooo'; }, 300); // remove an existing handler $em->detach($handler3); // $em->trigger(eventname); returns \EventManager\Response\ResponseCollection $response = $em->trigger('say.hello'); /* print_r($response->toArray()); outputs: array( 0 => hello!!! 1 => hello ) can be traversed: foreach ($response as $r) { echo $r->toResult(); } you can get response of particular handler: $hander1Results = $response->getCommandResult($handler2); // returns \EventManager\Response\ResponseCollection */