maymeow/uuid

Class to generate RFC 4122 UUID version 3, 4 and 5

Maintainers

Details

github.com/MayMeow/uuid

Source

Issues

Fund package maintenance!
maymeow
Ko Fi

Installs: 93 734

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 4

Forks: 0

Open Issues: 0

Type:class

v2.1 2020-07-03 19:42 UTC

This package is auto-updated.

Last update: 2024-11-30 02:08:03 UTC


README

Message from creator
Thank you for visiting the @maymeow/uuid project. I found that this project was downloaded nearly 50k times. If you found this project useful I encourage you to star this project. Staring a prepository here on Github is one of the ways to show support for the project and can hepl to increase visibility and to let the community know that is a valuable. Thank you!

May

Simple library to generating RFC 4122 version 3,4 and 5 UUID (Universaly Unique Identifier).

From Wikipedia:A universally unique identifier (UUID) is a 128-bit number used to identify information in computer systems. Microsoft uses the term globally unique identifier (GUID), either as a synonym for UUID or to refer to a particular UUID variant.

Requirements

  • PHP 5.5 and up
  • Composer

Installation

composer require maymeow/uuid

Usage

Generating UUID v3

Include uuid factory in your project

use MayMeow\UuidFactory;

To generate UUID version 3 from namespace and name:

// Version 3 uuid for DNS
$uuidv3 = Uuid::v3(Uuid::NAMESPACE_DNS, 'test.maymeow.click');

// From v2.0
$uuidv3 = UuidFactory::v3(UuidFactory::NAMESPACE_DNS, 'test.maymeow.click');

Generating UUID v4

To generate UUID version 3 - random UUID

// Version 3 uuid for DNS
$uuidv4 = Uuid::v4();

// From v2.0
$uuidv4 = UuidFactory::v4();

Generating UUID v5

To generate UUID version 5 from namespace and name:

// Version 5 uuid for DNS
$uuidv3 = Uuid::v5(Uuid::NAMESPACE_DNS, 'test.maymeow.click');

//From version 2.0 use UuidFactory instead of Uuid
$uuidv3 = UuidFactory::v5(UuidFactory::NAMESPACE_DNS, 'test.maymeow.click');

Checking if uuid is valid

// Version 3 uuid for DNS
$response = Uuid::is_valid('454eb932-adf4-52a5-9285-31ccebc92e96');

// From v2.0
$response = UuidFactory::is_valid('454eb932-adf4-52a5-9285-31ccebc92e96');

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request.

Credits

May Meow

License

MIT