karaca-tech/string-mask

此包最新版本(v0.1.1)没有可用的许可信息。

v0.1.1 2024-09-28 19:46 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:49:57 UTC


README

字符串掩码

Latest Version on Packagist GitHub Tests Action Status GitHub Tests Action Status Total Downloads

此包是Laravel的一个简单的字符串掩码工具。

安装

您可以通过composer安装此包

composer require karaca-tech/string-mask

使用方法

use KaracaTech\StringMask\Facades\Mask;

mask('John Doe')->keepFirstAndLastCharacter()->apply(); // J******e

Mask::fullname('John Doe'); // J*** D**
Mask::initials('John Doe'); // J.D.

// Let's spice things up a little bit
Mask::of('John Doe')
    ->silent()
    ->eachWord()
    ->keepFirstWord()
    ->keepFirstCharacter()
    ->then(fn(Masker $masked) => $masked->append('.'))
    ->apply(); // John D.

使用自己的处理器

所有处理器都必须扩展自抽象类KaracaTech\StringMask\Powder\Processor

use KaracaTech\StringMask\Powder\Processor;
use KaracaTech\StringMask\MaskTarget;

class MyProcessor extends Processor
{
    public function execute(MaskTarget $string): string
    {
        // Do your magic here
    }
}

// or

class ProcessorWithParams extends Processor
{
    public function __construct(private AnotherClass $anotherClass)
    {
    }

    public function execute(MaskTarget $string): string
    {
        // Do your magic here
    }
}

然后您可以像这样使用您的处理器

Mask::of('John Doe')
    ->using(MyProcessor::class)
    ->using(MyOtherProcessor::class)
    ->using(ProcessorWithParams::class, new AnotherClass())
    ->apply();

更多示例,请查看KaracaTech\StringMask\Concerete\Processors命名空间。

测试

composer test

变更日志

请参阅变更日志以获取最近更改的更多信息。

贡献

欢迎贡献,感谢所有贡献者