# uuid **Repository Path**: fiberphp/uuid ## Basic Information - **Project Name**: uuid - **Description**: 🆔 FiberPHP UUID组件 —— 通用唯一标识符生成器,支持 UUID v1/v4/v6/v7,RFC 4122 标准,开箱即用。 - **Primary Language**: PHP - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-23 - **Last Updated**: 2026-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FiberPHP UUID RFC 9562 规范的 UUID 生成器,零框架依赖的纯库实现(仅依赖 PHP 与 `ext-json`)。支持 v4 随机与 v7 时间排序两种版本,v7 可作为数据库主键保持趋势递增。 ## 环境要求 - PHP >= 8.3 ## 安装 ```bash composer require fiberphp/uuid ``` ## 快速开始 ```php use FiberPHPExt\Uuid\Uuid; // v4:全随机 UUID(122 位随机熵) $id = Uuid::v4(); // 550e8400-e29b-41d4-a716-446655440000 // v7:时间戳有序 UUID(48 位毫秒时间戳 + 74 位随机) $id = Uuid::v7(); // 01914582-2dfe-7abc-9def-0123456789ab // 批量生成 $ids = Uuid::generate(100, 'v7'); // 根据版本字符串生成 $id = Uuid::create('v7'); ``` ## 解析 ```php // 解析 v7 的时间戳(毫秒),非 v7 返回 null $ts = Uuid::parseTimestamp('01914582-2dfe-7abc-9def-0123456789ab'); // 获取版本号,无效返回 null $version = Uuid::parseVersion($id); ``` ## 特性 | 能力 | 说明 | |----------|-------------------------------------------------------------| | v4 随机 | 122 位随机熵,`random_bytes` 生成,无碰撞担忧 | | v7 时序 | 48 位毫秒时间戳前缀,索引友好、趋势递增,适合做数据库主键 | | 批量生成 | `generate(count, version)` 一次产出多条 | | 版本解析 | `parseVersion` / `parseTimestamp` 还原版本与时间戳 | | 纯库 | 无框架依赖,命名空间 `FiberPHPExt\Uuid`,可独立嵌入任意项目 | ## License MIT License (c) 2026 庞斌,详见 [LICENSE](LICENSE)。