byjg/shortid

Create short string IDs from numbers

Fund package maintenance!
byjg

5.0.0 2024-10-29 22:21 UTC

This package is auto-updated.

Last update: 2024-11-29 22:26:46 UTC


README

Build Status Opensource ByJG GitHub source GitHub license GitHub release

Create short string IDs from numbers

Description

This library enables you to create a very short string from integer numbers.

The basic usage is:

<?php
$shortid = \ByJG\Utils\ShortId::fromNumber(81717788171667188198);

// Will write: Qi0yuM2uKwJb

Methods

  • fromNumber($number, $map = null): Return a short id from a number
  • fromHex($hex, $map = null): Return a short id from a Hex value
  • fromUuid($uuid, $map = null): Return a short id from a UUID
  • fromRandom($min, $max, $map = null): Return a short id from a random number
  • get($shortid, $map = null): Return the Unique Integer Number from the short id (does not work with UUIDs)

Specify your own map

The base of the short id is in the map definition.

Basically, you can create your own sequence here.

The library defines four by default:

  • $MAP_DEFAULT
  • $MAP_ALTERNATE
  • $MAP_NUMBERS_FIRST
  • $MAP_RANDOM

The basic usage is:

<?php
$shortid = \ByJG\Utils\ShortId::fromNumber(
    81717788171667188198,
    \ByJG\Utils\ShortId::$MAP_NUMBERS_FIRST
);

// Will write: G8QokCSkAmz1

Installation

composer require "byjg/php-shortid"

Tests

vendor/bin/phpunit

Dependencies

Open source ByJG