Вот я решил делать как, всё бизнес логика приложения крутиться вокруг сущьностей. Сущьность сама валидирует все данные, и никогда не доверяет входным данным. К примеру если email должен быть уникальным для всех пользователей, то я в конструктор пользователя (или метод фабрику) передам email, пароль, репозиторий пользователей (чтобы проверить что email не занят и если она занят кину исключение) и ентити менеджер, чтобы сохранить сущьность в базе, работает всегда заебок, никаких причин почему так не делать не вижу, но люди в интернетах пишут что атата нельзя писать логику в конструкторах, почему?
херасе наркомания.
Что будешь делать, если одна и та же логика будет нужна в двух контроллерах? Например, юзер редактируется из профиля юзера и из админки?
Уникальный имейл это уже валидация коллекции сущностей. Одна сущность про другие не знает.
Обсуждают сегодня