vartruexuan / hyperf-sequence-number
hyperf编码计次组件
v1.0.0
2025-07-12 09:16 UTC
Requires
- php: >=8.1
- hyperf/contract: ~3.1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- mockery/mockery: ^1.0
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^10.0
- swoole/ide-helper: dev-master
Suggests
- swow/swow: Required to create swow components.
README
概述
hyperf 编码计次组件
安装组件
composer require vartruexuan/hyperf-sequence-number
构建配置
php bin/hyperf.php vendor:publish vartruexuan/hyperf-sequence-number
🛠 使用
// 实际使用使用依赖注入 $container = ApplicationContext::getContainer(); $driver = $container->get(DriverInterface::class); // 直接获取计次编码 $number = $driver->getNext('a'); var_dump($number); // 1 // 获取编码并填充指定长度 $number = $driver->getNextAndPad('a'); var_dump($number); // 0002 // 拼接key $number = $driver->getNextKey('a'); var_dump($number); // a3 // 拼接key并填充 $number = $driver->getNextKeyAndPad('a'); var_dump($number); // a0004
驱动
db
- 执行迁移
php bin/hyperf.php migrate --path=./vendor/vartruexuan/hyperf-sequence-number/src/migrations
- 或执行sql
CREATE TABLE `sequence_number` ( `key` varchar(50) NOT NULL DEFAULT '', `counter` int unsigned NOT NULL DEFAULT '0', `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`key`) USING BTREE ) ENGINE=InnoDB COMMENT='编码计次表';
License
MIT