webpatser/uuid
Pure PHP UUID generator/validator for RFC 4122 & RFC 9562. Create UUID v1, v3, v4, v5, v6, v7 and v8, plus nil UUIDs. Import, validate, compare, and access string/hex/bytes/URN, version, variant, and time fields.
incrementing IDs with string UUIDs).uuid cast in Form Requests).importFromSqlServer, toSqlServer).BINARY(16)) or string casting.| Risk | Mitigation |
|---|---|
| PHP 8.5 requirement | Blocker for legacy projects; evaluate ramsey/uuid as fallback. |
| Low adoption (1 star) | Mitigated by performance gains (40% faster than ramsey/uuid) and active maintenance. |
| UUIDv1 deprecation | Avoid UUIDv1; use UUIDv7 for databases or UUIDv4 for randomness. |
| SQL Server edge cases | Test with mixed-endianness GUIDs; leverage built-in conversion methods. |
| Laravel Scout issues | UUIDv7 requires string casting for searchability (index optimization needed). |
| Time-travel testing | Mock Uuid::generate() in tests or use ramsey/uuid for deterministic UUIDs. |
ramsey/uuid as a fallback.incrementing IDs in Eloquent models with UUIDv7 (time-ordered) or UUIDv4 (random).uuid cast for validation in Form Requests:
protected $casts = ['id' => 'uuid'];
UUID or BINARY(16) columns; UUIDv7 improves indexing.UNIQUEIDENTIFIER with importFromSqlServer/toSqlServer methods.BINARY(16) or CHAR(36) with manual conversion.Uuid::generate(5, 'domain.com', Uuid::NS_DNS)).| Phase | Action | Tools/Libraries |
|---|---|---|
| 1. Assessment | Audit current ID usage (auto-increment, GUIDs, custom UUIDs). | Database schema analysis, Laravel models. |
| 2. Pilot | Replace non-critical models with UUIDv7 (time-ordered) or UUIDv4 (random). | Uuid::v7()/Uuid::v4(), Eloquent casting. |
| 3. Database | Migrate tables to UUID columns (PostgreSQL: UUID, MySQL: BINARY(16), SQL Server: UNIQUEIDENTIFIER). |
Schema::table() migrations. |
| 4. API | Update API responses/requests to use UUID strings (not integers). | OpenAPI/Swagger updates. |
| 5. Legacy | Handle SQL Server GUIDs with importFromSqlServer/toSqlServer. |
Built-in conversion methods. |
| 6. Testing | Validate UUID generation, database indexing, and API compatibility. | Pest/PHPUnit, benchmarking. |
| 7. Rollout | Gradually replace auto-increment IDs with UUIDs in critical systems. | Feature flags, canary deployments. |
uuid rule).readonly properties reduce side-effect risks.Uuid::validate() to catch malformed UUIDs early.How can I help you explore Laravel packages today?