indigophp/tactician-event-decorator

此包已被弃用且不再维护。作者建议使用 league/tactician-command-events 包。

Tactician CommandBus 实现的事件装饰器

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

Tactician CommandBus 实现的事件装饰器。

安装

通过 Composer

$ composer require indigophp/tactician-event-decorator

使用

当命令运行无错误时

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);

当命令运行出错时

$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

贡献

请参阅 CONTRIBUTING 了解详情。

鸣谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。