DEV Community

Cover image for Small Id Generator
sebk69
sebk69

Posted on

Small Id Generator

I wanted a php library with no composer dependencies to generate unique id, and I finally wrote this : small/id

A tiny PHP library that provides a uniform interface to generate a variety of unique identifiers:
UUID (v1/2/3/4/5/6/7), ULID, KSUID, Snowflake, ObjectId, and NanoID — via a simple IdInterface and a factory.

use Small\Id\IdFactory; use Small\Id\Enum\IdType; $factory = new IdFactory(); $uuid7 = $factory->getId(IdType::uuid_v7)->generate(); // e.g. "018fb27a-a2b1-7c3d-8e9f-1a2b3c4d5e6f" $ulid = $factory->getId(IdType::ulid)->generate(); // e.g. "01J234ABCD3EFG4567HJKMNPRT" $ksuid = $factory->getId(IdType::ksuid)->generate(); // base62 string (~27 chars) $snow = $factory->getId(IdType::snowflacke)->generate();// decimal string (64‑bit composed) $oid = $factory->getId(IdType::objectid)->generate(); // 24‑hex Mongo‑like $nano = $factory->getId(IdType::nanoid)->generate(); // 21 chars URL‑safe 
Enter fullscreen mode Exit fullscreen mode

Get it

composer require small/id 
Enter fullscreen mode Exit fullscreen mode

git : https://git.small-project.dev/lib/small-id
packagist : https://packagist.org/packages/small/id

Top comments (0)