Павел
А это какой то синтетический пример из раздела "а вот так не может"
Kirill
А это какой то синтетический пример из раздела "а вот так не может"
мне достаточно было того, что он падал с фаталом, если в int поле DTO присылали string
Vlad
мне достаточно было того, что он падал с фаталом, если в int поле DTO присылали string
там есть настройка для того чтобы было приведение типов
Павел
Constructor property promotion вроде тоже починили, но это не точно
Kirill
там есть настройка для того чтобы было приведение типов
нужно не приведение, а сообщение вида "expected int, but string given"
Павел
там есть настройка для того чтобы было приведение типов
И преобразование в исключение норм вида
Vlad
Constructor property promotion вроде тоже починили, но это не точно
как буд то бы да, ибо пэт на 6.3 пых последний и не встречал проблем
Kirill
хз, я на 6.2 запускал
Kirill
в итоге на валинор переехал и счастлив
Kirill
Есть вроде такое
только оно с промоутед полями не работает)
Kirill
и IncompleteException не кидается
Kirill
или как его там
Kirill
короче, не хочу даже вспоминать эту дичь
Павел
только оно с промоутед полями не работает)
Ну вот вроде же завезли фичу с маппинг реквестов на дто, там вроде нормально работают промоутед поля
Kirill
маппинг реквесты вообще для инжектов
Kirill
да и то работают кривовато
Kirill
точнее не кривовато, а "в лоб"
Kirill
с другой стороны - этого более чем на простых кейсах
Vlad
@SerafimArts чем uid не нравится?
Kirill
вот типичный пример как нельзя писать код))) https://github.com/symfony/uid/blob/6.3/UuidV4.php#L26
Kirill
а ещё никого там не смущает, что абстрактный класс знает обо всех своих реализациях
Kirill
а потом, например, открываешь ramsey и ещё больше осознаешь насколько этот компонент помоечный)))
Kirill
поясни для детей)) что не так там
рандомное значение внутри конструктора, которое никак не замокать и не установить
Kirill
и которое ещё может кидать исключения...
Kirill
А вот как писать надо (для сравнения, ровно тот же самый код) https://github.com/ramsey/uuid/blob/4.x/src/UuidFactory.php#L360
Павел
рандомное значение внутри конструктора, которое никак не замокать и не установить
А надо ли такое мокать. Не в за или в против, но в целом зачем?
Павел
Если мы хотим замокать Uuid Uuid::fromString
Kirill
А надо ли такое мокать. Не в за или в против, но в целом зачем?
чтобы, например, протестить что будет ошибка, если сгенерируется 2 одинаковых UUID при вставке в базу
Kirill
ну это с потолка тест
Kirill
в любом случае любые недетерминированные значения нужно устанавливать явно в тестах всегда и везде
Kirill
Так создать 2 uuid одинаковых, а не через мок фабрики/генератора
просто указав явное значение рандомного генератора
Павел
просто указав явное значение рандомного генератора
Я просто потребность реальную не понимаю. Да, прикольно смотреть на кучу оберток, но был бы реальный толк
Kirill
более того, вдруг я вместо mt199937 захочу использовать Xoshiro256 рандомайзер, то что делать?
Павел
Не, макс гибкость прикольно, но опять все очень синтетически
Павел
Типа есть учебник и надо по нему делать максимально гибко
Kirill
да что значит синтетически? для времени целый PSR-20 сделали как раз потому что нужно явно передавать его, иначе можно огрести
Kirill
рандом - такая же фигня
Kirill
а если надо генерировать uuid последовательные, например?
Kirill
тупо чтобы сортировать можно было
Kirill
причём совместимые с v4
Павел
Так там uuid 4 который подразумевает рандом
Kirill
Так там uuid 4 который подразумевает рандом
4 - всего лишь указывает на 5ый байт)
Kirill
в любом случае мало ли задач
Kirill
поэтому и берётся сразу же рамси, а симфони нахрен не нужен
Kirill
ибо смысла в нём абсолютно никакого
Nikolay
ибо смысла в нём абсолютно никакого
Посмотришь вроде в симфони грамотные люди, но иной раз такую фигню пишут
Юра
Не знаю я недавно 6.4 навернул, никаких пока проблем с сериалайзером нет
Юра
Массивы сериализует
Юра
Промоут филды тоже
Юра
Может в предыдущих версиях проблемы не знаю
Юра
Единственная проблема которая была это при использовании MapRequestPayload и нот нул филдов у дто
Юра
Но она решается нормально если филд сделать нулабл и и сделать нот нул геттер
Dmitriy
Валинор ещё валидирует типы в пхпдоках
Nikolay
Не знаю я недавно 6.4 навернул, никаких пока проблем с сериалайзером нет
Он не умеет в сложные типы, которые через стат анализ описываются
Юра
Не понимаю. У меня массив объектов. Я описал в пхпдоке. Все работает
Юра
Какие сложные типы
Юра
object shape какой-то или что
Юра
Вообщем в 6.4 у меня не было никаких проблем особых. Все работает из коробки, уиды, улиды в том числе
Null
Пасаны. Кто сталкивался. Я раньше спокойно автовайрил ObjectNormalizer. Потом обновил пакет вообще левый. Стал ругаться на то что мой нормалайзер не соответствует нормалайзер интерфейсу. Переписал вайр на NormalizerInterface - стало ок. 6.2, ишью об этом видел. У меня больше вопрос как так вообще выйти могло?
Null
Пока дебажил, понял что пустой массив походу внутри объекта умирал об объект нормалайзер. Но раньше то не было.
Nikolay
Какие сложные типы
Список чисел и тд
Юра
И вообще народ принимайте активное участие в опенсорсе. Ишью, мердж риквесты и т.д.. Симфой пользуются в основном Европа СНГ
Юра
Плюс при приёме на работу пригодится
Артем
подскажите, пожалуйста, по доктрине table1 - table2 - table3 в table3 у меня связь с table2, у table2 связь с table1 у меня есть айдишка table1, как добавить это условие для table3?
Юра
Какое это условие?
Yurii
join
The Ant
Флашить в доктрине в цикле под транзакцией норм тема, или говно?