UUID Library v1.3.0
Quick Start Guide
webpatser@dev:
~/uuid/1.3.0
$ cat quick-start.md
Quick Start - UUID Library v1.3.0
Get started with high-performance UUID generation in minutes. This guide covers the most common use cases with live examples.
Basic UUID Generation
The most common UUIDs you'll need:
use Webpatser\Uuid\Uuid; // Random UUID (most common)$uuid4 = Uuid::v4();echo $uuid4; // e.g., "550e8400-e29b-41d4-a716-446655440000" // Timestamp-based UUID (database optimized)$uuid7 = Uuid::v7();echo $uuid7; // e.g., "018f4e7c-8b3a-7000-8000-123456789abc"
Live Generation Comparison
UUID v4 (Random)
2abd1e24-b9cd-44d7-8cc0-f31875dba52a
f2653d4c-7b74-400c-b06d-4945e9d85fdc
8eaf8880-953d-4137-8269-ec43e18e12c6
Notice: Completely random
UUID v7 (Timestamp)
019fcedf-91db-7001-893f-b4c9903ed8e0
019fcedf-91db-7019-8ba2-662b74524da1
019fcedf-91db-7027-9296-0607c0019b53
Notice: Sequential ordering
Working with UUIDs
Access different formats and validate UUIDs:
$uuid = Uuid::v4(); // Different formatsecho $uuid->string; // "550e8400-e29b-41d4-a716-446655440000"echo $uuid->hex; // "550e8400e29b41d4a716446655440000"echo $uuid->bytes; // Raw 16-byte binary data // Validation$isValid = Uuid::validate('550e8400-e29b-41d4-a716-446655440000'); // true$isValid = Uuid::validate('invalid-uuid'); // false // Import existing UUIDs$imported = Uuid::import('550e8400-e29b-41d4-a716-446655440000');
UUID Versions Explained
| Version | Type | Use Case | Example |
|---|---|---|---|
| v1 | Time + MAC | Legacy systems | 10b2dd20-9053-11f1-a62f-35b5209eebf3 |
| v4 | Random | General purpose ✓ | cdcea72f-a9d7-417f-aaa7-6e52cb0a110c |
| v7 | Timestamp | Database optimized ✓ | 019fcedf-91db-703f-853a-b56de5b68276 |
Name-Based UUIDs
Generate deterministic UUIDs from names:
// MD5-based (v3)$uuid3 = Uuid::generate(3, 'example.com', Uuid::NS_DNS); // SHA-1-based (v5) - recommended$uuid5 = Uuid::generate(5, 'example.com', Uuid::NS_DNS); // Same input = same UUID$same = Uuid::generate(5, 'example.com', Uuid::NS_DNS);// $uuid5 === $same (true)
Live Name-Based Example
Input: "example.com" →
cfbff0d1-9375-5685-968c-48ce8b15ae17
Input: "example.com" →
cfbff0d1-9375-5685-968c-48ce8b15ae17
Same input produces identical UUIDs (deterministic)
Performance Tips
- Use v4 for general purpose: Maximum randomness, good performance
- Use v7 for databases: Natural sorting order improves indexing
- Batch operations: Generate multiple UUIDs in loops efficiently
- Cache when possible: Store UUIDs rather than regenerating
// Efficient batch generation$uuids = [];for ($i = 0; $i < 1000; $i++) { $uuids[] = Uuid::v7(); // Maintains chronological order} // Benchmark different versions$start = microtime(true);for ($i = 0; $i < 10000; $i++) { Uuid::v4();}$time = (microtime(true) - $start) * 1000;echo "Generated 10k v4 UUIDs in {$time}ms";