The Ant
ну да
The Ant
симфа свой ууид в резолвере сама конвертит
The Ant
насчет рамзи хз
Павел
Ну я вот к чему то такому пришел да, но только без во и понял что какой то заеп
Павел
Kirill
Kirill
3 строчки кода, где 2 из них - это ифчик и закрывающая фигурная скобка + 1 на регистрацию
Kirill
Kirill
как и dotenv, кстати
Kirill
The Ant
клок это что?
Kirill
интерфейса тоже нет
Kirill
Kirill
да и код у рамси намного качественнее
Kirill
Как тебе такое?)
Kirill
https://github.com/symfony/uid/blob/6.3/UuidV8.php
Kirill
реализация полностью основывается на абстрактном классе и доверяет ему логику
Kirill
вот, для сравнения: https://github.com/symfony/uid/blob/6.3/UuidV3.php
Kirill
нет, там тупо стоит тайп
Kirill
а вся логика внутри абстрактного класса, типа if (type === 3) { ... } elseif (type === 8) { ... }
Павел
огонек)
Kirill
но это ещё ничего, вот dotenv...
Kirill
причём есть замечательный vlucas/dotenv, который на голову выше и мощнее говнокода симфонёвого и появился намного раньше
Kirill
Kirill
а как разработчик - так или иначе надо копаться в кишках и оценивать риски, когда и на каких кейсах этот чёртов автомобиль компонент поломается
Павел
Kirill
в противном случае - проще запилить битрикс и не парить мозг, свистоперделки есть - этого достаточно +)))
Павел
та это классика жеж, не моё сравнение
Ну к тому, чтобы хорошо водить, не обязательно знать внутренности автомобиля. И это даже мало что даст к навыкам именно езды.
А вот копаться в чужом коде и оценивать - это + к твоим профессиональным навыкам программиста.
Павел
Kirill
Павел
Солашусь опять же с Муравьем, что мы на то либы и берем, чтобы работать с абстракцией готовой
Kirill
и оценивать что заюзать
Kirill
например, даже для строк лучше вместо symfony/strings заюзать (тьфу-тьфу-тьфу) компонент из ларавельки, просто потому что он работает намного лучше и быстрее. И написан не намного хуже
Павел
Мы как бы и есть механики, а не водители :)
Kirill
The Ant
крч, кому шашечки, а кому поковыряться 😄
The Ant
насчет клока не понял тоже, если клок локальное время (судя по пср), а ууид генерит по текущему времени метку, то какая разница, есть там клок или нет, если ровно тот же самый результат достигается?
Павел
The Ant
может я невнимательно читал пср? но там как раз про текущее время
Павел
Kirill
Мне кажется, ответ сразу же по коду очевиден
Kirill
тоже самое и с UUID7, который основан на метке времени
Павел
Kirill
который можно замокать)
Павел
Хочешь засунь туда now \DateTime() а хочешь $apiMarsTime->getNowInMars()
Kirill
К слову, в симфони для даты закостылен отдельный метод
Kirill
Отличный код, который читается слёту, кстати
Kirill
https://github.com/symfony/uid/blob/6.3/UuidV7.php#L52-L113
Kirill
microtime внутри него меня особо радует)
Kirill
ну типа вроде и можно передать время, но как бы и нет
Kirill
и чисто теоретически там может быть бесконечный цикл и всё повиснет нахрен, кстати
Kirill
не, чтоб понимать, пользоваться-то можно, благо не так плохо, как код из Yii, но когда есть более качественная и популярная (в 6 раз) альтернатива от рамси, то нафига тянуть этот пакет?
The Ant
потому что он работает без лишних надстроек )
The Ant
зачем нам фреймворк, если мы не пользуемся его фичами?
Kirill
так оно же не идёт из коробки
Kirill
ну если ты только не symfony/symfony ставишь)))
The Ant
https://github.com/ramsey/uuid-doctrine
этим пользуетесь?
Kirill
Kirill
И в бридже тоже нету https://packagist.org/packages/symfony/doctrine-bridge
The Ant
Kirill
The Ant
В этом компоненте прописан тип для доктрины, симфони уид
Kirill
ничего не понял, в каком компоненте прописана зависимость на symfony/uid?
Kirill
и причём тут это скрин, где зависимость на бридж доктрины
The Ant
https://github.com/symfony/doctrine-bridge/tree/6.3/Types
The Ant
вот
Kirill
вот
где?
https://github.com/symfony/doctrine-bridge/blob/6.3/composer.json#L19-L25
The Ant
в композере м.б. и нету, а в коде типы прописаны )