decodelabs/guidance

Generalised UUID generation and parsing interface

v0.1.13 2025-02-15 00:03 UTC

This package is auto-updated.

Last update: 2025-04-14 08:47:55 UTC


README

PHP from Packagist Latest Version Total Downloads GitHub Workflow Status PHPStan License

Generalised UUID generation and parsing interface

Guidance provides a simplified interface for generating and parsing UUIDs of various types. It is designed to be used as a common interface for other libraries that need to work with UUIDs, without having to worry about the specifics of each type and implementation of the generator.

Guidance provides a stripped down front end over the Ramsey UUID library by default, but can be extended to support other implementations where required.

Installation

Install via Composer:

composer require decodelabs/guidance

Usage

use DecodeLabs\Guidance;
use DecodeLabs\Guidance\Format;

// Generate a v4 UUID
$v4 = Guidance::createV4();
$version = $v4->getVersion(); // Version::V4

$string1 = (string)$v4; // Full UUID string
$string2 = $v4->shorten(); // Base 62 (default) encoded UUID
$string3 = $v4->shorten(Format::FlickrBase58); // Base 58 encoded UUID

$new1 = Guidance::from($string1); // Parse full UUID string
$new2 = Guidance::fromShortString($string3, Format::FlickrBase58);

Licensing

Guidance is licensed under the MIT License. See LICENSE for the full license text.