Вадим
Вадим
Юра
Да это не относится но суть в дальшейшем использовании этого в круде а там это будет использоваться
Вадим
Вадим
Один метод контроллера
Вадим
Юра
1) Пишем код руками или мейкером (в чем сомневаюсть)
2) Пишем контроллер который возвращает метафинформацию о модели (геморой еще тот будет)
3) Рисуем фронт
Против
1) Пишетмметаинформацию по моделям
2) Генерим на основе неё код
Юра
Тут сейчас спор не о том
Юра
Просто это разные подходы
Юра
Помимо метадаты есть куча всего что не отражается напрямую в энтити
Юра
Что нельзя будет реверснуть
Maxim Kainov
Maxim Kainov
Аннотации это и есть метаинформация )
Юра
Нет
Юра
Вот смотрите есть у меня тип поля картинка
Юра
В ней есть параметры ширины кропа и т.д.
Вадим
Просто это разные подходы
100%, у меня нет возможности засетить любое поле в сущности, и для регистрации пользователя затрагивается как минимум 2 сущности. Потому да, мне такой круд с метадаными и все остальным явно не подойдет
Юра
На основ этой информации у меня есть листенер который там кропает и т.д.
Юра
Можно конечно запихнуть это в анноотацию
Вадим
Юра
Опять же где хранить инфу для рендеринга
Вадим
Ну и ты свои аннотации можешь делать
Юра
Типо настройки ширины текстэрии и прочего
Юра
Тоже в аннотациях к энтити?
Вадим
Это уже UI
Вадим
При чем тут энтити?
Юра
Хорошо вы решили изменить максимальную длинну текствоего поля
Maxim Kainov
Создай сущность, которая хранит эту метаинформацию по сущностям
Юра
Вам надо поправить все в трех местах
Юра
Энтити формы фронт
Юра
Зачем
Юра
Если можно в одном и нажать generate
Юра
Юра
Это оно и есть )
Maxim Kainov
Вадим
Целое сообщество которое участвовало в написании симфони, думали как это все разделить, что б было гибко, а оказывается надо было наоброт )
Юра
Вообщем могу сказать что для себя я когда делал, намного приятнее было к примеру мышкой добавить рилейшн, выбрать типо поля и выполнить две команды
Юра
Чем писать руками )
Юра
И следить чтобы если у вас nullable=true не забить правильно ретурн типы указать и т.д.
Юра
Таким мест куча
Юра
Суть в том чтобы разгрузить голову
Юра
И забыть об этом
Maxim Kainov
Maxim Kainov
Хотя не
Вадим
Все это рухнет, когда уйдешь от анемичной модели )
Юра
Ничего само оно не генерит
Юра
Что такое анемичнай модель
Maxim Kainov
Ты указываешь тип поля доктрины и тип пхп отдельно, и это правильно )
Юра
В чем суть не понял?
Юра
Что в геттер нао засунуть бизнес логику или что?
Юра
Юра
Он генерит отдельно пхп ретурн и в коменте ретурн
Юра
и они не обязательно одинаковые
Юра
такое бывает
Вадим
В чем суть не понял?
Ну что б понять, надо изучить вопрос, я тебе в двух словах могу сказать, что у модели нет get/set, ты не можешь менять любое поле в энтити.
Юра
Если вам надо добавить что-то такое кастомное в энтити для этого я использовал типо поля EntityBuilder
Юра
который позволял добавить сырок код
Юра
в энтити
Юра
типо такогро
Юра
Юра
не все влезло
Юра
все это в итоге мерджится
Юра
лишние неймспейсы удаляются
Вадим
Какую роль в этом всем играет доктрина, если ты всю метаинформацию сохраняешь у себя?
Юра
))
Юра
Админка это часть
Вадим
Зачем тебе сущности, если можно массивами обойтись, и получить прирост в производительности
Юра
На фронте вы спокойно используюте обычный симфони код
Юра
Для отрисовки сайта
Юра
Гет репо, файнд и пошло
Вадим
Эх ... ладно
Юра
Я просто чесно искал что-то такое
Юра
Но не нашел
Юра
Мне за 6 лет уже так задолбало писать одно и тоже )
Юра
Как это связано )