evalok/php-event-router

1.1.0 2018-07-26 20:20 UTC

This package is auto-updated.

Last update: 2024-04-20 02:28:50 UTC


README

Build Status

php-event-router

simple event router with Router, Event, and Handler objects

install

composer require evalok/php-event-router

example usage

use EventRouter\v1\Router;
use EventRouter\v1\Handler;
use EventRouter\v1\Event;

// use the router singleton instance
$router = Router::getInstance();

// set handlers..
$handler1 = (new Handler(
	'test.handler.1',
	function( $data ){
		$data['count'] += 15;
		return $data;
	})
);
$handler2 = (new Handler(
	'test.handler.2',
	function( $data ){
		$data['count'] += 100;
		return $data;
	})
);

// register handlers for specific events (in this case, test.event.1)
$router->registerHandler(['test.event.1'], $handler1);
$router->registerHandler(['test.event.1'], $handler2);

// trigger the handler, and grab the results if you need them
$results = $router->handleEvent(
	new Event('test.event.1', ['count' => 1])
);

echo $results['test.handler.1']['count']; // 16
echo $results['test.handler.2']['count']; // 101