Event decorator for Tactician CommandBus implementations.
Via Composer
$ composer require indigophp/tactician-event-decorator
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);
$ phpspec run
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.