searchbooker/persistent-sequences

0.5.0 2021-08-29 14:45 UTC

This package is auto-updated.

Last update: 2024-09-25 21:27:38 UTC


README

Latest Version Software License PHP Version Total Downloads

支持通过用户定义的算法进行自定义数字生成。

安装

composer require sbooker/persistent-sequences 

用法

步骤 1. 定义序列映射到持久化存储

步骤 2. 定义您自定义的序列计算算法。例如

class ConcreteAlgorithm implements \Sbooker\PersistentSequences\Algorithm
{
    public function first(): string
    {
        // return first item in sequence
    }
    
    public function next(string $currentValue): string 
    {
        // return next item in sequence
    }
}

步骤 3. 定义您的序列写入存储或使用Doctrine实现

class ConcreteWriteStorage implements \Sbooker\PersistentSequences\SequenceWriteStorage
{
    //...
}

步骤 4. 配置SequenceGenerator

$sequenceGenerator =
    new \Sbooker\PersistentSequences\SequenceGenerator(
        new ConcreteWriteStorage(),
        new \Sbooker\TransactionManager\TransactionManager(
            // see sbooker/transaction-manager
        )   
    );

步骤 5. 使用SequenceGenerator生成序列

$number = $sequenceGenerator->next('concrete-seq', new ConcreteAlgorithm());

许可证

查看 LICENSE 文件。