Size: a a a

2020 August 11

ВУ

Валентин Удальцов... in PHP
Aleksandr Khristenko
Я видимо не понимаю, что ты от меня хочешь =\
https://psalm.dev/r/419ff88b05

во-первых это адская портянка вместо @Assert\NotBlank(), @Assert\Count(min=1) и так далее.
во-вторых, на 61-ой строке Psalm не уверен, что мы всё проверили, хотя мы проверили
источник

ВУ

Валентин Удальцов... in PHP
там можно было написать без else, почище и так далее. но проблема на 61-ой строке останется, суть та же.

поэтому мы на проекте для контроллеров выбрали Symfony Validator + форсирование типов для psalm как временное решение, пока не доберемся до плагина. а уже в хэндлерах ValueObject, чтобы в домене на 100% быть уверенным в валидности значений
источник

VS

Vlad Sobenko in PHP
Валентин Удальцов
https://psalm.dev/r/419ff88b05

во-первых это адская портянка вместо @Assert\NotBlank(), @Assert\Count(min=1) и так далее.
во-вторых, на 61-ой строке Psalm не уверен, что мы всё проверили, хотя мы проверили
Короче переносим валидацию на клиент и не паримся. Просто падаем с exception.
источник

ВУ

Валентин Удальцов... in PHP
Vlad Sobenko
Короче переносим валидацию на клиент и не паримся. Просто падаем с exception.
идеальный план 😂
проблема в том, что клиенты моего АПИ — это фронты, которые сидят бок о бок и могут надавать лещей за такое
источник

ВУ

Валентин Удальцов... in PHP
они хотят нормальный список ошибок в нужной локали с кодами)
источник

ПИ

Павел Иванов... in PHP
какие нежные
источник

VS

Vlad Sobenko in PHP
Валентин Удальцов
идеальный план 😂
проблема в том, что клиенты моего АПИ — это фронты, которые сидят бок о бок и могут надавать лещей за такое
То есть они ждут пока ты им выплюнешь ошибку, что email cant be empty?
источник

ВУ

Валентин Удальцов... in PHP
нет, они валидируют сами. но если даже что-то не прошло валидацию, вряд ли они обрадуются 500ке там, где виноваты сами
источник

ВУ

Валентин Удальцов... in PHP
да не, ну че мы обсуждаем вообще)
какую-то дичь развели.
всю дорогу так делали. предварительная валидация на входе, финальная в VO в асинхронном обработчике
источник

VS

Vlad Sobenko in PHP
Валентин Удальцов
нет, они валидируют сами. но если даже что-то не прошло валидацию, вряд ли они обрадуются 500ке там, где виноваты сами
2x работа, только чтобы они были рады.
источник

ВУ

Валентин Удальцов... in PHP
Vlad Sobenko
2x работа, только чтобы они были рады.
они не единственные клиенты API
источник

VS

Vlad Sobenko in PHP
Валентин Удальцов
да не, ну че мы обсуждаем вообще)
какую-то дичь развели.
всю дорогу так делали. предварительная валидация на входе, финальная в VO в асинхронном обработчике
А точно, если async обработка, то никуда не денешься. У нас просто синхронно)
источник

A

Aleksandr Khristenko in PHP
Валентин Удальцов
https://psalm.dev/r/419ff88b05

во-первых это адская портянка вместо @Assert\NotBlank(), @Assert\Count(min=1) и так далее.
во-вторых, на 61-ой строке Psalm не уверен, что мы всё проверили, хотя мы проверили
https://psalm.dev/r/1dc461c56f - нет ошибок и можем переиспользовать валидаторы
источник

ВУ

Валентин Удальцов... in PHP
Aleksandr Khristenko
https://psalm.dev/r/1dc461c56f - нет ошибок и можем переиспользовать валидаторы
да, так круто.
но остаётся аргумент про то, что Symfony Validator есть со всемии обвязкамии, а этого нет)
источник

A

Aleksandr Khristenko in PHP
Валентин Удальцов
да, так круто.
но остаётся аргумент про то, что Symfony Validator есть со всемии обвязкамии, а этого нет)
Так с этим я и не спорил
источник

AD

Andrey Dembitskyi in PHP
Валентин Удальцов
да, так круто.
но остаётся аргумент про то, что Symfony Validator есть со всемии обвязкамии, а этого нет)
https://github.com/BackEndTea/Assert

Можно попробовать это использовать
источник

ВУ

Валентин Удальцов... in PHP
не подойдёт)
https://github.com/BackEndTea/Assert/blob/master/src/Assert.php#L39
он не аккумулирует инфу об ошибках
источник

A

Aleksandr Khristenko in PHP
Валентин Удальцов
да, так круто.
но остаётся аргумент про то, что Symfony Validator есть со всемии обвязкамии, а этого нет)
Ну и да, все таки система типов в псалме не особо богатая. Корректно все типами бывает не покрыть.
источник

k

knopkod4v in PHP
Валентин Удальцов
И не забывай про коды ошибок, локализацию
а зачем тебе локализация на беке?
источник

AZ

Artem Zakirullin in PHP
Валентин Удальцов
И не забывай про коды ошибок, локализацию
Какие коды ошибок?
источник