定制 spekkionu/domain-dispatcher 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

spekkionu/domain-dispatcher

Composer 安装命令:

composer require spekkionu/domain-dispatcher

包简介

Domain command dispatcher

README 文档

README

Latest Stable Version Build Status Code Coverage Scrutinizer Code Quality SensioLabsInsight

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

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-10-19

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固