PHPackages                             robertboeser/robo-id - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. robertboeser/robo-id

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

robertboeser/robo-id
====================

v1.2.0(1y ago)0331MITPHPPHP ^8.0

Since Nov 5Pushed 1y ago1 watchersCompare

[ Source](https://github.com/robertboeser/php-robo-id)[ Packagist](https://packagist.org/packages/robertboeser/robo-id)[ RSS](/packages/robertboeser-robo-id/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (6)Used By (1)

RoboID (php-robo-id)
====================

[](#roboid-php-robo-id)

Format
------

[](#format)

A RoboID has two parts, one time based (T) and one random (R) part. The time based part is based on the Unix timestamp and consists of 45 bits. The random part consists of 30 bits (short version) or 80 bits (long version).

The long version will be uuid compatible. That means, that in the random part the bits 0-3 (uuid version) are set to 'B' and the bits 16-17 (uuid variant) are set to 10b.

There are three different string representations and one as json. Every implementation needs to accept and export the json representation.

### HEX

[](#hex)

S: TTTTTTTTTTTT-RRRRRRRR L: TTTTTTTTTTTT-RRRRRRRRRRRRRRRRRRRR X: TTTTTTTTTTTT-RRRRRRRRRRRRRRRRRRRR-XXXXXXXXXXXXXXXXXXXX The time based part is left padded with zeros to 48 bits. The random part is right padded with zeros to 32 or 80 bits.

### Base32

[](#base32)

S: TTTTTTTTT-RRRRRR L: TTTTTTTTT-RRRRRRRRRRRRRRRR X: TTTTTTTTT-RRRRRRRRRRRRRRRR-XXXXXXXXXXXXXXXX The time based and the random part are encoded using base32 crockford charset. No padding is necessary using this representation

### UUID

[](#uuid)

AAAAAAAA-BBBB-VCCC-WDDD-EEEEEEEEEEEE A and B together build the time based part. The time based part is left padded with 100b to 48 bits. This ensures that the ID starts with a character different than '0'. V is hard coded to 'B'. In long version C to E together build the random part. In short version C and D are filled with zeros. The random part is encoded in E, right padded with zeros.

### JSON

[](#json)

{ "v": "S|L|X", // version "t": "time based part", // hex encoded "r": "random part", // hex encoded "x": "extended part" // hex encoded }

###  Health Score

30

—

LowBetter than 65% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 83.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~182 days

Total

5

Last Release

552d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c06b1f7e7d72ae07352a16176015ddd9f6155c3ef8fb1423a1ff989539e0ead4?d=identicon)[robertboeser](/maintainers/robertboeser)

---

Top Contributors

[![robertboeser](https://avatars.githubusercontent.com/u/117525387?v=4)](https://github.com/robertboeser "robertboeser (5 commits)")[![Bastelbot](https://avatars.githubusercontent.com/u/12120255?v=4)](https://github.com/Bastelbot "Bastelbot (1 commits)")

### Embed Badge

![Health badge](/badges/robertboeser-robo-id/health.svg)

```
[![Health](https://phpackages.com/badges/robertboeser-robo-id/health.svg)](https://phpackages.com/packages/robertboeser-robo-id)
```

###  Alternatives

[marcelog/pami

Asterisk Manager Interface (AMI) client for PHP, event driven, object oriented

415750.6k1](/packages/marcelog-pami)[spicyweb/craft-neo

A Matrix-like field type with block hierarchy

395798.1k10](/packages/spicyweb-craft-neo)[geedmo/yamm3

Yet another megamenu for Bootstrap 3.x

1.2k12.6k](/packages/geedmo-yamm3)[verbb/navigation

Create navigation menus for your site.

90683.7k17](/packages/verbb-navigation)[fusonic/opengraph

PHP library for consuming and publishing Open Graph resources.

104373.0k4](/packages/fusonic-opengraph)[h4kuna/ares

Provides information about subjects by their identification number from the ARES database (in Czech Republic).

50394.6k2](/packages/h4kuna-ares)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
