spekkionu/domain-dispatcher
Composer 安装命令:
composer require spekkionu/domain-dispatcher
包简介
Domain command dispatcher
README 文档
README
Command dispatcher that integrates with league/container.
Install
Via Composer
$ composer require spekkionu/domain-dispatcher
Usage
You must first register the service provider in your league/container instance.
$container->addServiceProvider('Spekkionu\DomainDispatcher\DispatcherServiceProvider');
Then you can use the dispatcher by pulling it out of the container.
$container = new \League\Container\Container(); $container->delegate( new \League\Container\ReflectionContainer ); $dispatcher = $container->get('Spekkionu\DomainDispatcher\Dispatcher'); $command = new MyCommand($var1, $var2); $dispatcher->dispatch($command);
Writing a command
class MyCommand { /** * @var User */ private $user; /** * You can add any arguments you need to the constructor */ public function __construct(User $user) { $this->user = $user; } /** * The command must have a handle method. * Any dependencies for the handle method will be automatically resolved by the container * Whatever you return here will be returned by the dispatch call */ public function handle(EmailSender $mailer, Logger $logger) { // Your code goes here $result = $mailer->sendWelcomeEmail($user); $logger->log('Welcome email sent to user'); return $result; } }
$user = new User(); $user->name = 'Bob'; $user->email = 'email@example.com'; $command = new MyCommand($user); $result = $dispatcher->dispatch($command);
Testing
$ composer test
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 25
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-10-19