Kirill
а у него строгий регламент входных данных и исключений
Kirill
входные данные могут быть как простыми, так и DTO:
$creator->create($login, $pass);
// or
$creator->create(new CredentialsDTO(
login: $login,
password: new NonEncryptedPasswordDTO($pass),
));
Вадим
в Апи платформе там както попроще чтоли
оно само както сохраняет это всё дело гдето
Kirill
ну так всё вот это для rapid разработки
Вадим
Kirill
с таким же успехом можно ларку взять)
Kirill
Kirill
Вот пример)
Вадим
дак лучше б ларку, ей-богу
оно ни туда ни сюда :)
Kirill
ну в ларке как раз херак херак и готово
Kirill
работает и ладно
Вадим
да
а тут всё посложнее, а сроки хотят как будто на ларке
Kirill
Kirill
Kirill
в моём случае пустая строка недопустима, например
Вадим
это понятно всё
Kirill
Ну раз так, тогда ты понял где у тебя ошибки денормализации вылетать должны, а где ошибки валидации)
В моём примере
1) "не пустая строка" - это тип данных и кривая форма.
2) А "кривая регулярка" - ошибка сервиса сохранятора.
Kirill
у тебя же ошибка денормализации - в контроллере вылетает, а логическая (кривой пароль, кривая почта или ещё что) - сервиса, отвечающего за создание/апдейт/что-то ещё
Вадим
Kirill
P.S. Я не ебу ваще как там в апи платформ)))
Вадим
ну там сохраняторы это стейт процессоры
Вадим
вот только с уровнями валидации ты мне подкинул конечно, у меня так всё хорошо в одном жило
Вадим
утро вечера мудренее
Kirill
ты технически не можешь на одном уровне всё это делать
Kirill
у тебя полюбасу есть какая-то логика сложная, которую в констреинт просто так не запихнуть
Kirill
*скорее всего
Павел
Имхо перебор с кол-вом слоев, ну да ладно)
А кто дтошку потом в респонс превращает? Какой то единый ViewEventListener с сериализатором? Или на каждую response дто еще респонсер ?
Вадим
Павел
Вадим
Как же решить такую проблему без ддд и гексагонов
Вадим
Можно в один слой, бог с ним
Павел
Павел
https://symfonycasts.com/screencast/api-platform/validation
Павел
Лучше посмотрите весь каст
Павел
Думаю встретите много интересного для решения проблем с апи платформой
Вадим
Вадим
Не помогло
Павел
Ну и подобные штуки гуглить https://github.com/api-platform/core/issues/4250
Павел
https://api-platform.com/docs/core/validation/ раздел Collecting Denormalization Errors
Вадим
Вадим
там да, на конструкторе VО
Вадим
хз как этот флаг работать должен
Вадим
наверное как-то должен
The Ant
Зачем называть Аддер, апдейтер, делетор, етц...? Почему не назвать просто PatternAdd $handler?
Где-то видел статейку про то что ваши окончания-or, -er говно! Или в книжке... Уже не помню.
Павел
The Ant
Объективных причин нету
The Ant
Не, я спросил потому что какой-то именитый буржуйский инфоциган призвал не писать так.
Павел
Опять же сколько людей столько и мнений. Кому нравится так, кому то иначе. Если же нет какого конкретного профита, то субъективщина
The Ant
The Ant
The Ant
Ну с юзерхандлером согласен, че он там хандлит вопрос вопросов.
Чет не предложила мой вариант просто написать UserAdd, как команду. Видимо такое не практикуют вообще )
The Ant
сука, опять бегать переименовывать всё насвете... да когда уже это кончится?! 🤣🤣🤣
Павел
Павел
Тип UserAddCommand а есть какой нить UserAddedEvent
Павел
А если без суффиксов, то будет UserAdd и UserAdded, имхо визуально более путанее смотрится без суффиксов и искать по вхождению фразы будет чуть сложнее
The Ant
С ивентами да
The Ant
сук еще думать над названиями...
Павел
Сильно субъектиная штука, думаю не стоит замарачиваться как правильно или нет. На скорость проекта не влияет))
The Ant
да хотелось бы какойнить стандарт именования хз, который не противоречит ни чему, ну или как можно меньше
Павел
The Ant
Есть общие рекомендации. Вон ор, ер плоха, но можно если точно отражает суть. Глаголы плоха, но если команда(конкретное действие) то чеб и нет?
Всякие обшие суффиксы типа Sevice тоже плохо.
The Ant
которые не особо зависят от языка
Павел
Павел
Если можешь, то лучше во что то переименовать или декомпозировать.
The Ant
ну вот для юзкейса как выбирать? я хз даже сейчас.
писал просто UserAdd не рефлексируя ) но это говно, UserSignup тоже с глаголом. UserRegistration? Ну хз...
а если это не юзер а статья? Её не зарегистрируешь :D
The Ant
получается все тот же адд\аддер, всратый
Павел
Павел
UserAddHandler
UserAdd/Handler
Павел
Не парься, если нет каких то проблем и нравится - забей)
Павел
Но мне глагол не очень, но опять же не критикал, ко всему привыкаешь
The Ant
я перфекционист ебучий, и эта тема щас будет неделю голову греть 😰
и все равно ничего не изменится...
Павел