Автоинкремент удобен, но плохо подходит для распределённых систем. UUIDv4 решает проблему уникальности, зато случайные значения могут хуже работать с B-tree индексами.
use Symfony\Component\Uid\Uuid;
$id = Uuid::v7();
echo $id->toRfc4122();
// 0192f8a1-...
echo $id->getDateTime();
// время, закодированное в UUID
$id->toBase58();
composer require symfony/uid
Особенно интересно для распределённых сервисов, где ID нужно генерировать независимо от БД.
Библиотека пхпшника
