symfony/uid: UUIDv7 вместо автоинкремента Автоинкремент удобен, но… — Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter — TG.ME

🤩 symfony/uid: UUIDv7 вместо автоинкремента

Автоинкремент удобен, но плохо подходит для распределённых систем. UUIDv4 решает проблему уникальности, зато случайные значения могут хуже работать с B-tree индексами.

🔘 UUIDv7 — компромисс: содержит timestamp и случайную часть, поэтому идентификаторы генерируются примерно в хронологическом порядке.


use Symfony\Component\Uid\Uuid;

$id = Uuid::v7();

echo $id->toRfc4122();
// 0192f8a1-...

echo $id->getDateTime();
// время, закодированное в UUID


🔘 А если нужен более компактный идентификатор для URL:


$id->toBase58();


🔘 Symfony UID можно использовать отдельно от Symfony:


composer require symfony/uid


Особенно интересно для распределённых сервисов, где ID нужно генерировать независимо от БД.

📍 Ссылка на документацию

Библиотека пхпшника
❤6
September 1, 2026 764 4