ulrack/fallback

此包已被废弃且不再维护。作者建议使用 grizz-it/fallback 包代替。

Ulrack 的回退系统。

1.0.1 2020-03-05 20:36 UTC

This package is auto-updated.

Last update: 2020-04-09 20:48:05 UTC


README

Build Status

Ulrack Fallback

此包包含在 PHP 应用程序中实现回退系统的实现。

安装

要安装此包,请运行以下命令

composer require ulrack/fallback

使用方法

单个回退由一个包含多个 FallbackStackFallback 组成。

创建回退

可以通过提供可调用的函数、(可选)验证器和(可选)参数集来创建回退。当在堆栈内部达到可调用的函数时,将执行该函数。验证器(参见包:ulrack/validator)将用于验证可调用函数的输出。参数是可变的,并将覆盖堆栈发送的参数。

实现可能如下所示

<?php

use Ulrack\Fallback\Component\Fallback;
use Ulrack\Validator\Component\Logical\ConstValidator;

$class = new class {
    /**
     * Returns the input.
     *
     * @param string $input
     *
     * @return string
     */
    public function foo(string $input): string
    {
        return $input;
    }
};

$validator = new ConstValidator('bar');

$fallback = new Fallback([$class, 'foo'], $validator);

在此之后可以创建回退堆栈。回退堆栈接受验证器作为参数。使用 addFallback 函数将回退添加到堆栈中。此函数接受回退和位置作为参数。然后可以使用一组参数调用堆栈。

<?php

use Ulrack\Fallback\Component\FallbackStack;
use Ulrack\Validator\Component\Type\StringValidator;

$validator = new StringValidator();

$fallbackStack = new FallbackStack($validator);

$fallbackStack->addFallback($fallback, 0);

$fallbackStack('bar');

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTINGCODE_OF_CONDUCT

MIT 许可证

版权所有(c)2019 GrizzIT

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

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

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该责任是基于合同、侵权或其他原因,不论该责任产生于、因之产生或与此软件或软件的使用或其他交易有关。