PHP Classes

File: docs/quickstart.rst

Recommend this page to a friend!
  Packages of A. B. M. Mahmudul Hasan   UID (UUID, ULID, Snowflake, Sonyflake, Nano, CUID, KSUID, XID, TBSL)   docs/quickstart.rst   Download  
File: docs/quickstart.rst
Role: Example script
Content type: text/plain
Description: Example script
Class: UID (UUID, ULID, Snowflake, Sonyflake, Nano, CUID, KSUID, XID, TBSL)
Generate, parse, validate unique identifiers
Author: By
Last change:
Date: 8 days ago
Size: 1,934 bytes
 

Contents

Class file image Download
Quickstart
==========

Using the ``Id`` Facade
-----------------------

.. code-block:: php

   <?php

  
use Infocyph\UID\Id;

  
$uuid = Id::uuid(); // default UUID strategy (v7)
  
$ulid = Id::ulid();
  
$snowflake = Id::snowflake();
  
$sonyflake = Id::sonyflake();
  
$tbsl = Id::tbsl();
  
$nano = Id::nanoId(21);
  
$cuid2 = Id::cuid2(24);

Using Algorithm Classes
-----------------------

..
code-block:: php

  
<?php

  
use Infocyph\UID\CUID2;
   use
Infocyph\UID\NanoID;

  
$nano = NanoID::generate(21);
  
$cuid2 = CUID2::generate(24);

  
NanoID::isValid($nano, 21); // bool
  
CUID2::isValid($cuid2); // bool

Validation and Parsing
----------------------

..
code-block:: php

  
<?php

  
use Infocyph\UID\Id;

  
Id::uuidIsValid($uuid); // bool
  
Id::uuidParse($uuid); // ['isValid', 'version', 'variant', 'time', 'node', 'tail']

  
Id::nanoIdIsValid($nano, 21); // bool
  
Id::nanoIdParse($nano, 21); // ['isValid', 'length', 'alphabet']

  
Id::cuid2IsValid($cuid2); // bool
  
Id::cuid2Parse($cuid2); // ['isValid', 'length']

Binary and Base Conversion
--------------------------

..
code-block:: php

  
<?php

  
use Infocyph\UID\Id;

  
$bytes = Id::uuidToBytes($uuid); // 16 bytes
  
$roundTrip = Id::uuidFromBytes($bytes);

  
$base58 = Id::uuidToBase($uuid, 58);
  
$uuidAgain = Id::uuidFromBase($base58, 58);

  
$tbslBase62 = tbsl_to_base(Id::tbsl(), 62);

Configuration-Based Generators
------------------------------

..
code-block:: php

  
<?php

  
use Infocyph\UID\Configuration\SnowflakeConfig;
   use
Infocyph\UID\Enums\ClockBackwardPolicy;
   use
Infocyph\UID\Enums\IdOutputType;
   use
Infocyph\UID\Id;

  
$config = new SnowflakeConfig(
      
datacenterId: 1,
      
workerId: 7,
      
clockBackwardPolicy: ClockBackwardPolicy::WAIT,
      
outputType: IdOutputType::STRING,
   );

  
$id = Id::snowflake($config);