Pure PHP.
Generate RFC-4122 compliant
random UUIDs
with better
statistical dispersion
than mt_rand()
, and 5x faster than create_uuid()
.
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
?>
composer require jchook/uuid
- PHP 7.0+
- Very fast!
- Pure PHP implementation
- Cryptographically secure PRNG
Surprisingly, this library is 5x faster than the PECL UUID extension.
package | performance |
---|---|
PECL UUID | 300k ops/sec |
meter/uuid | 1.5M ops/sec |
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.
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.
MIT