Kirill
один из
Nikolay
Kirill
с миллионом зависимостей и методов
Nikolay
Kirill
$user->changeEmail(...)
Kirill
вроде это корректный метод по-твоей логике?
Kirill
но это некорректный метод с точки зрения даже ООП)
Kirill
1) для начала, у него будет куча зависимостей для своих действий
Kirill
сходу:
1) changeEmail(new EmailValidator(), new EmailSaver(), new EmailApprover(), ...) ещё что-то там, дай придумать
Kirill
2) во-вторых, очевидно, ты сам себе имя/почту/адрес прописки/ещё что поменять не можешь. Это делается, например, в паспортном столе. Так почему при разработке не сделать такой паспортный стол? new EmailChanger(...)
Михаил
Где то читал что движение от рич модела к дистрофик модели и обратно - это просто рефакторинг.
Но как по мне единственный путь рефакторинга - это движенин к рич модели
Нахрен эти get set
Kirill
2) а то в итоге получается, что юзер не только себе почту может поменять, но и самоудалиться, а ещё по дороге соседский дом снести)
Kirill
Kirill
в 8.4 свойства же завезли
Mihail
У кого нибудь есть ссылки на репозитории, где можно посмотреть, более менее нормальное по этой теме?
Mihail
Kirill
Но там не идеал, так, на коленке накидывал
Эдуард
я хз у меня валидация вообще никакм методом н еработает
Эдуард
не формой не атрибутами
Михаил
Эдуард
Эдуард
Kirill
Ты меня понял
понял, только на практике это уёбище оказывается самым адекватным, гибким и очевидным)
Эдуард
всегда по нулям ошибок
Kirill
а ты нахуя аннотации с атрибутами мешаешь?
Kirill
и тем более валидатор на энтитю вешать о_0
Михаил
Эдуард
так и в статьях написано
Эдуард
умных
Михаил
нейросети захватят it и лишат нас работы
Эдуард
https://www.slingacademy.com/article/how-to-validate-request-data-in-symfony/
Эдуард
вот
Kirill
потому что аннотации - это легаси шляпа из php 7
Эдуард
хорошо щас покажу форму свою
Эдуард
через неё тож не пашет
Kirill
Эдуард
Эдуард
djn ajhvf
Эдуард
вот форма
Эдуард
Эдуард
всегда пишет что валидация не прошло
Эдуард
а ошибки пустой массив
Kirill
ну хз, не использую формы
Михаил
Вот тут попробуй так
#[Assert\Length(
min: 2,
max: 50,
minMessage: 'Your first name must be at least {{ limit }} characters long',
maxMessage: 'Your first name cannot be longer than {{ limit }} characters',
)]
Михаил
Вот умная статься https://symfony.com/doc/current/validation.html
Эдуард
Kirill
а какие настройки валидатора-то?
Эдуард
Эдуард
не реагирует
Kirill
а где импорт атрибута?
Эдуард
Эдуард
из коробки
Kirill
ты наверное и аннотацию не импортнул даже)
Михаил
use Symfony\Component\Validator\Constraints as Assert;
Эдуард
Эдуард
спс бро
Kirill
лол
Эдуард
ненавижу все эти анотации ide сама не понимает что нужно чтото импортировать
Kirill
понимает
Эдуард
кто придумал через анотации логику писать
Эдуард
php шторм не понимает
Эдуард
из коробки
Kirill
понимает всё
Михаил
Kirill
плагин симфони ставишь и всё работает
Эдуард
Kirill
а для атрибутов вообще PHP
Эдуард
показываю
Kirill
и?
Михаил
Поменяй Assert на Constraints
Kirill
ты не знаешь как use работает?
Эдуард
и он не предлагает сделать импорт нужного класса
Эдуард
а класс нужный 3 глазом узнать?
Kirill
Эдуард
какой надо импортить?