jchook / uuid
Fast, Secure UUIDs
Installs: 49 677
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 3
Forks: 0
Open Issues: 0
This package is not auto-updated.
Last update: 2024-11-19 08:19:50 UTC
README
Pure PHP.
Generate RFC-4122 compliant
random UUIDs
with better
statistical dispersion
than mt_rand()
, and 5x faster than create_uuid()
.
Example Usage
If you are using composer, make sure you require 'vendor/autoload.php
, then the code should Just Workâ˘. Otherwise you can require lib/Uuid.php
directly.
<?php use Jchook\Uuid; Uuid::v4(); // 2ca24f61-2a32-45d0-93d1-409f944a43e1 ?>
Install w/ Composer
composer require jchook/uuid
Requirements
- PHP 7.0+
Features
- Very fast!
- Pure PHP implementation
- Cryptographically secure PRNG
Performance
Surprisingly, this library is 5x faster than the PECL UUID extension.
Q&A
What is UUID v4?
Universally Unique IDentifiers transcend many constraints of traditional incremental integer IDs, especially in distributed systems. Version 4 means that it's random, instead of being based on the current time, etc. This purely random ID has many advantages.
What about collisions?
The chance of a collision is so vanishingly small that it is arguably smaller than UUID V1's collision probability. For scale, you would need to do-loop Uuid::v4()
at max speed for 100,000 years to achieve a 50% chance of one collision.
License
MIT