Теперь у Symfony тоже есть библиотека для работы с UUID: composer req symfony/uid. Сравним.



ramsey/uuid

- процесс генерации реализован прямо в библиотеке и разложен по ООП полочкам, легко расширяется;

- поддержка GUID;

- поддержка экспериментального UUID v6;

- интеграции: ramsey/uuid-doctrine , ramsey/uuid-console .



symfony/uid

- элементарная обёртка над полифилом symfony/polyfill-uuid, который имитирует функционал PHP-расширения UUID и при этом работает быстрее;

- поддержка UUID v6;

- поддержка ULID;

- обсуждаются планы по интеграции с другими компонентами и библиотеками.



Как только допилят интеграцию, можно будет в новых проектах ставить symfony/uid просто из-за скорости работы.

____



Есть недовольные, мол, Symfony продолжает добавлять компоненты, которые заменяют существующие неплохие проекты. Возможно, имеется в виду symfony/messenger, который оставил в тени simple-bus/simple-bus.



Мое мнение, что если пакет лицензирован MIT, то по определению ни у кого не должно быть никаких претензий к тем, кто создает похожие библиотеки.



Во-вторых, Symfony не всегда делает хорошо, например, к тому же Messenger и другим компонентам немало вопросов по архитектуре. Разработки Symfony никак не блокируют стремление к прекрасному, скорее стимулируют. Да и в целом конкуренция — это почти всегда хорошо, она препятствует застою, предоставляет выбор. Может быть Ben Ramsey не релизнул бы 4.0 еще полгода, если бы Symfony не анонсировала свой UID 😉