требуется добавить логику в модель, что бы вызывать ее напрямую во вьюхе/сериализаторе и тд. Но в саму модель передавать сервис нельзя(гайды симфони не рекомендуют, но и в принципе понятно почему, это же только модель).
Например, если сервис определяющий годность продукта от кучи параметров. Сейчас я в контроллере делаю $shelfLife = $service->getShelfLife($product) и передаю во вьюху. Точно так же вынужден писать еще в 3-4 контроллерах и сериализаторах, что мне не нравится, тк можно забыть, другой разработчик может не знать что это нужно, методов из сервиса может быть много и все это некрасиво передавать дальше отдельными переменными и тд.
Как лучше в таких случаях делать? Может статью посоветуете хорошую на эту тему?
Есть такая штука, как DTO (Data Transfer Object). Заполняете её и передаете во все вьюхи
Пробовал, на самом деле кода меньше не становиться, единственный плюс - появляется возможность валидации
Вам нужно на основе данных в сущности производить логику и отдавать значение во вью?
Да, на основе данных в сущности и сервисов
У вас в сервисе хранятся данные?
Обсуждают сегодня