phpgt/ulid

Unique, lexicographically sortable identifiers.

Maintainers

Package info

github.com/PhpGt/Ulid

Issues

pkg:composer/phpgt/ulid

Fund package maintenance!

PhpGt

Statistics

Installs: 2 079

Dependents: 2

Suggesters: 0

Stars: 0

v1.2.2 2026-04-19 21:10 UTC

README

Create a new Ulid() anywhere in your application, and you have a stringable object that can be used as the primary key in a database. Ulid strings look something like 01G2J6MYN0PGC5Q21W9C or can be prefixed with a type like CUSTOMER_01G2J6MYN0PGC5Q21W9C. They are cryptographically pseudo-random, and sort so that newer Ulids compare "greater than" older Ulids.

This solves the problems exposed with working with auto-incrementing integer primary keys, which are predictable and difficult to work with in distributed databases.

Build status Code quality Code coverage Current version PHP.Gt/Ulid documentation

Example usage:

use GT\Ulid\Ulid;

$exampleDataSource->create(new Person(
	new Ulid("pet"),
	name: "Cody",
	age: 5,
));

Proudly sponsored by

JetBrains Open Source sponsorship program

JetBrains logo.