Skip to content
This repository has been archived by the owner on Nov 24, 2021. It is now read-only.

indigophp-archive/tactician-event-decorator

Repository files navigation

Tactician Event Decorator

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.

About

Event decorator for Tactician CommandBus implementations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages