The League of Extraordinary Packages

Our Packages:

Presented by The League of Extraordinary Packages

Getting Started


Command Events

Author Source Packagist

This plugin lets you listen to some events emitted during command execution:

Setup is simple:

use League\Tactician\CommandBus;
use League\Tactician\CommandEvents\EventMiddleware;
use League\Tactician\CommandEvents\Event\CommandHandled;

$eventMiddleware = new EventMiddleware();

// type-hint is optional
	function (CommandHandled $event) {
		// log the success

$commandBus = new CommandBus([$eventMiddleware]);

Optionally you can inject an event emitter into the middleware:

use League\Event\Emitter;
use League\Tactician\CommandEvents\EventMiddleware;

$emitter = new Emitter();
$eventMiddleware = new EventMiddleware($emitter);

// other possible solution
// $eventMiddleware->setEmitter($emitter);

You can also catch an error and prevent it from causing the application to fail:

use League\Tactician\CommandEvents\Event\CommandFailed;

	function (CommandFailed $event) {
		// log the failure
		$event->catchException(); // without calling this the exception will be thrown

// something bad happens, exception thrown