Skip to content

Quick start

github-actions[bot] edited this page Jul 15, 2026 · 1 revision

⚡ Быстрый старт

Главная · Установка · Возможности

Минимум за 30 секунд

use CloudCastle\Uuid\Uuid;

$id = Uuid::uuid4();                 // случайный
$key = Uuid::uuid7();                // сортируемый — для первичных ключей

(string) $id;                        // 'e2b0dd0e-1c2d-4f6a-…'
$key->toBytes();                     // 16 байт → BINARY(16)
Uuid::fromString($_GET['id'] ?? ''); // валидация на границе (исключение при мусоре)

Все семейства

use CloudCastle\Uuid\{Uuid, Ulid, NanoIdFactory, SnowflakeFactory, SonyflakeFactory};

Uuid::uuid7();                            // UUID v7
Ulid::generate();                         // ULID
(new NanoIdFactory())->generate();        // NanoID (21 символ)
(new SnowflakeFactory(1, 7))->generate(); // Snowflake узла 1/7
(new SonyflakeFactory(1234))->generate(); // Sonyflake машины 1234

Разбор и формы

$u = Uuid::fromString('01ARYZ6S41TSV4RRFFQ69G5FAV'); // ULID-форма? — распознаётся
$u->toBase58();      // короткая ссылка
$u->toUlid();        // мост в ULID
$u->version();       // интроспекция

Детерминизм в тестах

use CloudCastle\Clock\MockClock;          // composer require --dev cloudcastle/clock
use CloudCastle\Uuid\UuidFactory;

$factory = new UuidFactory(clock: MockClock::from('2026-01-01 00:00:00', 'UTC'));
$factory->uuid7()->timestampMs();         // всегда 1767225600000

Дальше: страницы возможностей — каждая с примерами, схемами и сравнением с аналогами.

Clone this wiki locally