An RFC-4122 compliant PHP library for generating and parsing UUIDs.
PHP
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
test/suite
.gitattributes
.gitignore
.travis.env
.travis.install
.travis.key
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
LICENSE.md
README.md
composer.json
composer.lock

README.md

Druid

Build Status Test Coverage SemVer

Druid is an RFC-4122 compliant PHP library for generating and parsing universally unique identifiers (UUIDs).

Examples

Druid provides a generator class for each supported UUID version. UUIDs are created by first instantiating the generator for the desired UUID version, then calling the create() method.

All generator classes implement the UuidGeneratorInterface interface, and produce UUIDs that implement UuidInterface.

Generating UUIDs

Version 1 - Network address and time based identifier

// Not yet implemented.

Version 2 - Network address and time based identifier, with POSIX user information

// Not yet implemented.

Version 3 - Named-based MD5 hash identifer

// Not yet implemented.

Version 4 - Randomly generated identifier

$generator = new Icecave\Druid\UuidVersion4Generator;
$uuid = $generator->generate();

assert($uuid instanceof Icecave\Druid\UuidInterface);

Version 5 - Name-based SHA-1 identifier

// Not yet implemented.

Parsing UUIDs

UUIDs can be constructed from hexadecimal strings and binary buffers using the Uuid::fromString() and Uuid::fromBinary() methods, respectively.

$uuidFromString = Icecave\Druid\Uuid::fromString(
    '550e8400-e29b-41d4-a716-446655440000'
);

$uuidFromBinary = Icecave\Druid\Uuid::fromBinary(
    "\x55\x0e\x84\x00\xe2\x9b\x41\xd4\xa7\x16\x44\x66\x55\x44\x00\x00"
);

Contact us