indigophp/tactician-event-decorator

This package is abandoned and no longer maintained. The author suggests using the league/tactician-command-events package instead.

Event decorator for Tactician CommandBus implementations

dev-develop / 1.0.x-dev 2015-01-12 20:42 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:43:32 UTC


README

Latest Version Software License Build Status Code Coverage Quality Score HHVM Status Total Downloads Dependency Status

Event decorator for Tactician CommandBus implementations.

Install

Via Composer

$ composer require indigophp/tactician-event-decorator

Usage

When the command ran without failures:

use League\Event\EmitterInterface;
use League\Tactician\CommandBus\EventableCommandBus;
use League\Tactician\Event\CommandExecuted;

// $innerCommandBus = new CommandBus instance
// $emitter = new EmitterInterface instance OR null (optional)

$commandBus = new EventableCommandBus($innerCommandBus, $emitter);

$commandBus->addListener('commandExecuted', function(CommandExecuted $event) {
	// log the success
});

$commandBus->execute($command);

When the command ran with failures:

$commandBus->addListener('commandFailed', function(CommandFailed $event) {
	// log the failure
	$event->handle(); // without calling this the exception will be thrown
});

// something bad happens, exception thrown
$commandBus->execute($command);

Testing

$ phpspec run

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.