decodelabs/lucid-support

在不引入主库完整依赖的情况下,为您的库提供 Lucid 清理功能

v0.4.0 2024-08-21 23:52 UTC

This package is auto-updated.

Last update: 2024-09-04 21:26:37 UTC


README

PHP from Packagist Latest Version Total Downloads GitHub Workflow Status PHPStan License

在不引入主库完整依赖的情况下,为您的库提供 Lucid 清理功能

Lucid-support 是一个中间件包,允许第三方库实现必要的接口,并为 Lucid 提供自定义清理器和验证器功能,而无需引入主库的完整依赖树。

DecodeLabs 博客 上获取新闻和更新。

安装

通过 composer 安装库

composer require decodelabs/lucid-support

使用方法

Lucid 提供接口和特质,以实现从您自己的值容器对象中提供输入清理。

但是,主库有一个庞大的依赖列表,当在您的库中部署 Lucid 提供者接口时,可能不是所希望的。

相反,这些接口已经在本包中划分,并使用 class_exists() 检查来确保 Lucid 在运行时可用。

如果您想在库中提供 Lucid 的清理器接口,您只需需要引入 包,并实现以下之一: DirectContextProvider(直接传递值到方法),MultiContextProvider(对于字典和映射)或 SingleContextProvider(对于单值对象)。

例如

namespace My\Library;

use DecodeLabs\Lucid\Provider\SingleContext;
use DecodeLabs\Lucid\Provider\SingleContextTrait;

class MyClass implements SingleContext {

    use SingleContextTrait;

    protected mixed $value;

    public function __construct(mixed $value) {
        $this->value = $value;
    }

    /**
     * This method provides the value to all other
     * sanitisation methods in the interface
     */
    public function getValue(): mixed {
        return $this->value;
    }
}

许可

Lucid Support 使用 MIT 许可证。请参阅 LICENSE 获取完整的许可文本。