Jesper Pedersen 8bb74e0297 added requiresSQLCommentHint true
To make Doctrine schema tool able distinguish between this type and string such that it does not try to update the field every time update schema is run.
2013-07-04 14:09:23 +02:00
2013-07-03 18:06:31 -05:00
2013-01-20 11:35:46 -06:00

Rhumsaa\Uuid

Build Status

A PHP 5.3+ library for generating and working with RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).

Much inspiration for this library came from the Java and Python UUID libraries.

Please see docs/ for generated API documentation.

Requirements

Some methods in this library have requirements due to integer size restrictions on 32-bit and 64-bit builds of PHP. A 64-bit build of PHP and the Moontoast\Math library are recommended. However, this library is designed to work on 32-bit builds of PHP without Moontoast\Math, with some degraded functionality. Please check the API documention for more information.

If a particular requirement is not present, then a Rhumsaa\Uuid\Exception\UnsatisfiedDependencyException is thrown, allowing one to catch a bad call in an environment where the call is not supported and gracefully degrade.

Examples

<?php
require 'vendor/autoload.php';

use Rhumsaa\Uuid\Uuid;
use Rhumsaa\Uuid\Exception\UnsatisfiedDependencyException;

try {

    // Generate a version 1 (time-based) UUID
    $uuid1 = Uuid::uuid1();
    echo $uuid1 . "\n"; // e4eaaaf2-d142-11e1-b3e4-080027620cdd

    // Generate a version 3 (name-based and hashed with MD5) UUID
    $uuid3 = Uuid::uuid3(Uuid::NAMESPACE_DNS, 'php.net');
    echo $uuid3 . "\n"; // 11a38b9a-b3da-360f-9353-a5a725514269

    // Generate a version 4 (random) UUID
    $uuid4 = Uuid::uuid4();
    echo $uuid4 . "\n"; // 25769c6c-d34d-4bfe-ba98-e0ee856f3e7a

    // Generate a version 5 (name-based and hashed with SHA1) UUID
    $uuid5 = Uuid::uuid5(Uuid::NAMESPACE_DNS, 'php.net');
    echo $uuid5 . "\n"; // c4a760a8-dbcf-5254-a0d9-6a4474bd1b62

} catch (UnsatisfiedDependencyException $e) {

    // Some dependency was not met. Either the method cannot be called on a
    // 32-bit system, or it can, but it relies on Moontoast\Math to be present.
    echo 'Caught exception: ' . $e->getMessage() . "\n";

}

Installation

The preferred method of installation is via Packagist, as this provides the PSR-0 autoloader functionality. The following composer.json will download and install the latest version of the Uuid library into your project:

{
    "require": {
        "rhumsaa/uuid": "~2.1"
    }
}
S
Description
❄️ A PHP library for generating universally unique identifiers (UUIDs).
Readme MIT 4.7 MiB
Languages
PHP 100%