searchbooker / persistent-sequences
持久化序列
0.5.0
2021-08-29 14:45 UTC
Requires
- php: ^7.4 || ^8.0
- sbooker/transaction-manager: ^2.0
Requires (Dev)
- phpunit/phpunit: ^9.0
Suggests
- doctrine/orm: If you want use DB persistence with Doctrine
- sbooker/doctrine-transaction-handler: If you want use DB persistence with Doctrine
README
支持通过用户定义的算法进行自定义数字生成。
安装
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 文件。