wyrihaximus/tactician-command-handler-mapper

Tactician 的命令到处理器映射器

2.0.1 2018-10-14 08:16 UTC

README

Build Status Latest Stable Version Total Downloads Code Coverage License PHP 7 ready

安装

要使用 Composer 安装,请使用以下命令,它将自动检测最新版本并将其绑定到 ^

composer require wyrihaximus/tactician-command-handler-mapper

设置

在创建 Command 时,添加 @Handler 注解以将其映射到 Handler

<?php

namespace Test\App\Commands;

use WyriHaximus\Tactician\CommandHandler\Annotations\Handler;

/**
 * @Handler("Test\App\Handlers\AwesomesauceHandler")
 */
class AwesomesauceCommand
{
    /**
     * @var string
     */
    private $value;

    /**
     * AwesomesauceCommand constructor.
     * @param string $value
     */
    public function __construct($value)
    {
        $this->value = $value;
    }

    /**
     * @return string
     */
    public function getValue()
    {
        return $this->value;
    }
}

映射

映射器需要一条路径,它可以从那里找到命令。从那里开始,它会扫描所有找到的类,查找 @Handler 注解,并返回匹配的命令和处理器映射。

Mapper::mapInstantiated

当您想快速开始且所有处理器都不需要依赖注入时使用。

use League\Tactician\Setup\QuickStart;
use WyriHaximus\Tactician\CommandHandler\Mapper;

$commandBus = QuickStart::create(
    Mapper::mapInstanciated('src' . DS . 'CommandBus')
);

Mapper::map

当您不想使用已实例化的处理器集时使用,例如在使用 league/tactician-container 进行自动依赖注入时很有用。

use League\Tactician\Setup\QuickStart;

$commandToHandlerMap = Mapper::map('src' . DS . 'CommandBus');

许可证

MIT 许可证 (MIT)

版权所有 (c) 2017 Cees-Jan Kiewiet

在此特此授予任何获取此软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向软件提供的人进行上述操作,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的副本或主要部分中。

软件按“原样”提供,除非另有说明,不提供任何形式的保证,明示或暗示,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是否因合同、侵权或其他行为而产生,无论是否与软件或其使用或其他交易有关。