zona7o
@zona7o
Веб-разработчик

Symfony — жизнь без Entity возможна?

Переношу существующий проект на Symfony в целях практического опыта работы.
Есть несколько вопросов, касающихся (возможно) философии разработки.

Есть множество сущностей, которые отличаются по некоторым характеристикам (грубо говоря, есть пять видов материалов, которые имеют общие свойства и некоторые уникальные).
В старом проекте - было 6 таблиц, пять - где хранятся уникальные характеристики, и одна - где хранятся общие + некоторые дополнительные.

К пяти entity получается нужно будет добавлять в контроллере обработку или все же создавать шестой? Или возможно здесь есть какой-то подход, best practice?

Возможно сумбурно, но надеюсь понятно.

Примеры сущностей, грубо говоря.
Article - id, title, date, type, render
Text extends Article + body
Photo extends Article + photo_list
Video extends Article + video_code
  • Вопрос задан
  • 251 просмотр
Решения вопроса 1
@shaqster
Symfony3 Guru
Для приведенного Вами примера я бы сделал следующее: сделал бы класс Article абстрактным, пометил бы его как MappedSuperclass, перенес туда общие свойства (title, date, type, render), и уже от него наследовал бы Photo, Video, Text. И, самое главное, в структуре проекта перенес бы Article из Entity в Model, поскольку это уже не сущность базы данных. Id же лучше вручную описать в каждой сущности.

Отвечая же собственно на вопрос в заголовке: можно и не создавать Entity. Работать через запросы, гидрировать ответы в массивы, особенно если это оправдано обстоятельствами, а не нечто из разряда "а зачем мне система контроля версий? а зачем мне ide, я и в блокноте могу?".
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы