Size: a a a

2020 August 11

VS

Vlad Sobenko in PHP
Andrey Dembitskyi
слабак)
Согласен)
источник

ЕР

Евгений Ромашкан... in PHP
Vlad Sobenko
Думаю задача очень тяжелая, очень. Нужно чтобы псалм понимал все валидации(Emtpy, Null  и т.д.) Нуего
Да вроде не так уж и сложно ассерты с типами сопоставить
источник

ЕР

Евгений Ромашкан... in PHP
Интереснее, как быть с кастомными ассертами
источник

ЕР

Евгений Ромашкан... in PHP
Но варианты есть, даже варианты довольно просто решить есть
источник

ЕР

Евгений Ромашкан... in PHP
Надо будет глянуть чего для этого есть, а то кажется у меня времени скоро будет много
источник

AZ

Artem Zakirullin in PHP
Vlad Sobenko
У тебя в ДТО прописаны красивые ошибки?
Лень было писать их, взял webmozart/assert
источник

VS

Vlad Sobenko in PHP
Artem Zakirullin
Лень было писать их, взял webmozart/assert
Это дичь
источник

AZ

Artem Zakirullin in PHP
Ну значит валидируй DTOшки)
источник

AZ

Artem Zakirullin in PHP
И надейся никто не забудет дернуть твой валидатор
источник

VS

Vlad Sobenko in PHP
Artem Zakirullin
Лень было писать их, взял webmozart/assert
У эксепшенов и ошибок валидации совершенно разные задачи.
источник

AZ

Artem Zakirullin in PHP
Vlad Sobenko
У эксепшенов и ошибок валидации совершенно разные задачи.
Именно
источник

AZ

Artem Zakirullin in PHP
У меня нет формочек + юзер ошибок
источник

AZ

Artem Zakirullin in PHP
Есть ошибки протокола тип
источник

VS

Vlad Sobenko in PHP
Artem Zakirullin
И надейся никто не забудет дернуть твой валидатор
У меня и то и то работает. Забудут вызвать - упадет эксепшен.
источник

AZ

Artem Zakirullin in PHP
Vlad Sobenko
У меня и то и то работает. Забудут вызвать - упадет эксепшен.
Пример?
источник

VS

Vlad Sobenko in PHP
Artem Zakirullin
Пример?
Проверка вадиности строки времени в DTO и VO строки времени падает, если не валидно.
источник

A

Aleksandr Khristenko in PHP
Vlad Sobenko
А как в псалме боретесь с невалидными типами в dto, после его валидации?
Типа после валидации не должно быть null полей(будет ошибка), но псалм же не знает о валидации и ругается.
Выносить в переменные и прописывать докблоки с уточнением типа, или ещё както можно?
Делаешь объект с конкретными ограничениями, который и будешь дальше использовать.
Создаешь его через умный конструктор, который будет принимать твое DTO и возвращать объект, если DTO валиден или же список ошибок, если нет.
Все - псалм больше не ругается.
источник

VS

Vlad Sobenko in PHP
Aleksandr Khristenko
Делаешь объект с конкретными ограничениями, который и будешь дальше использовать.
Создаешь его через умный конструктор, который будет принимать твое DTO и возвращать объект, если DTO валиден или же список ошибок, если нет.
Все - псалм больше не ругается.
Типа ещё один DTO, но только с валидными типами?
источник

A

Aleksandr Khristenko in PHP
Vlad Sobenko
Типа ещё один DTO, но только с валидными типами?
Ну можешь воспринимать так, да.
источник

ВУ

Валентин Удальцов... in PHP
Andrey Dembitskyi
вот это клёвая штука.
Можно попробовать скрестить с taint analysis и реагировать только тогда, когда psalm не нашёл вызова валидатора и выхода с ошибками, прежде чем использовать
🔥, я тоже всё вокруг этой задачи хожу) время бы найти
источник