Павел
Нет логики.
Павел
Хоть тупо sql пишите
Павел
Это будет даже профитнее
Павел
Доктрина, ОРМ это инструмент. Если он вам мешает, а не помогает - правильнее отказаться и делать как удобнее, чем есть иголки
Виктор
А разве SINGLE_TABLE дескриптор - не то же самое? Там же по сути хранится тип сущности в одном столбце, описываемый в DescriptorMap, и число в другом (айди сущности).
Виктор
Просто всё это реализуется встроенными средствами Doctrine без необходимости ручками писать. Или это не так?
Виктор
Ой, дескриминатор)
Павел
А разве SINGLE_TABLE дескриптор - не то же самое? Там же по сути хранится тип сущности в одном столбце, описываемый в DescriptorMap, и число в другом (айди сущности).
Отчасти да, но вы завязываетесь на эту штуку, которая довольно спорная. Хотя возможно именно в крудиловке проблем не будет
Павел
Прям недавно человек писал, что у него из-за дескриминатора всего эагер лоадинг работает
Павел
А могут быть и другие приколы
Павел
В общем редко когда вам скажут спасибо за использование этой технологии, когда можно было без нее обойтись
Павел
А так как вы новичок, делайте просто и надежно
Павел
Их например удобно использовать когда методы разные
Павел
Тип есть админ, есть менеджер - все поля одинаковые, а вот методы у них разные или что то в таком духе
Павел
Вот например зачем вам AlbumComment и отдельно TextComment ? Если брать ООП и логику а не доктрину
Павел
Если не сможете ответить для чего вы их разделяете, не затрагивая схему БД и доктрину - скорее всего они вам не нужны
Виктор
У меня есть три типа сущностей - альбом, фотография и текст. Каждый тип можно комментировать. Айди у них не сквозные, соответственно может быть альбом и фотография с одинаковым айди. Как мне найти комментарии, которые нужно отобразить в фотографии с айди 3?
Виктор
Также есть страница с последними комментариями на сайте. Как мне понять, какую ссылку формировать под комментарием с родителем с айди 3 - на альбом или на фото с этим айди?
Павел
Куча вариантов помимо дискриминатора и наследований
Павел
Вплоть до отдельных комментов под каждую сущность, как раз AlbumComment. Но без дескриминатор
Павел
А можете вообще не использовать сущности и работать с sql
Павел
Это крудиловка
Павел
Где ООП не нужен
Виктор
Павел, я не понимаю. Что значит мэни-ту-мэни? В моем понимании это когда много комментариев относятся ко многим сущностям. Если это так, то непонятно, причём тут это. Если нет, то можешь, пожалуйста, пояснить?
Виктор
А полиморфной связи же нет в доктрине? Ты вроде выше писал.
Павел
Представьте что у вас есть микросервис Статей и Микросервис ФотоАльбом на разных севрерах Как бы сделали комментарии?
Павел
Не ну вариант сделать микросервис комментариев)))
Павел
А полиморфной связи же нет в доктрине? Ты вроде выше писал.
Да, сделать без доктри связей через id обычные
Павел
В общем так: сделайте как угодно, кроме дискримнаторов
Павел
Хоть обычным sql в репозитории
Виктор
А можете вообще не использовать сущности и работать с sql
Ну я тогда могу и без симфони этот проект сделать)) Вернее, он у меня и так есть. Тут же вопрос в том, чтобы фреймворк освоить в первую очередь.
Павел
В симфони не работают только с связями и только на них завязаны
Павел
Если говорить о проде - максимально этого избегают
Павел
Доктрина не симфони, симфони не доктрина
Виктор
Если хотите потыкать дискриминаторы - тыкайте
Ну я всё хочу потыкать, думал узнать с какой стороны в данном случае правильнее) Видимо ни с какой. Спасибо, Павел! Всё равно пока поем кактус немного)
Юра
Не знаю я работаю с дискриминаторами и никаких проблем
Юра
Очень часто они дают элегантное решение, так как нигде кроме как в орм как раз такой фишки нет
Юра
Не нравится наследование, ну сделайте через композицию. Так тоже делают, будет больше писанины
Виктор
Ну я как раз через наследование начал делать и дискриминаторы. Не могу знать, как оно в проде (да мне на данном этапе и без разницы), но сам инструмент тоже показался приятным. Миграцию глянул - там как раз получается как парни выше предлагали, просто название сущности в одной колонке и айди без явной связи в другой. Я и сам так делал на обычной пыхе однажды) Получается, никакой магии - дальше, насколько я понимаю, доктрина сама по ключу определяет класс, который использовать и соответственно для родителя тоже. Короче попробую потом завести это всё и проверить, на сегодня хватит уже)
Михаил
Чо это за бот? Просто пишет рандомные фразы на английском?
Kirill
Чо это за бот? Просто пишет рандомные фразы на английском?
насколько я понимаю - стату собирают по участникам, чтоб потом можно было спам рассылать или что-то подобное
Kirill
а сообщение требуется, чтобы доступ к чату получить
Kirill
но это не точно
Михаил
ну я мог получить стату и не написав сообщение. Может быть есть какой-то способ узнать кол-во просмотров на сообщение - хз
Kirill
количество активных юзеров
Юра
А вы знали что если в пхпшторме выбрать файл в дереве проекта и нажать пробел то откроется окно превью с соержимым файла?
Михаил
Опа, пойду просить прибавку к зп
Doctor
О, круто, на Хабре уже добавили статью?
Vlad
А кто то пользуется Valinor? Как ему можно объяснит, чтобы смог замапить moneyphp/money?
Vlad
да
kakoi-to-noob
а чем он лучше стандартного симфонийского?
Vlad
а чем он лучше стандартного симфонийского?
типы стат-анализа поддерживает и не опускает их
Михаил
Госпади, а что дальше будет? Умножатор чисел, конкатинатор строк?
Михаил
Вот именно, целая солянка, на подобии node_modules
Vlad
в чем суть претензии то?
Vlad
типы стат-анализа поддерживает и не опускает их
то есть sf serializer сделает следующее: non-empty-string кастанет к string, но это не правильно с точки зрения контракта
Login
Парни привет. Подскажите кто знает какой acme-client API LET'S ENCRYPT подходит для symfony 7? Цель добавлять бесплатные сертификаты для доменов через консольную комманду SYMFONY
Login
Просто запускай сертбот через шелл_екзек
Конкретно тот метод реализации нужен
Nikolay
Добрый вечер! Подскажите пожалуйста такой вопрос. Пишу RestAPI, и пробрасываю ошибки throw new BadRequestHttpException где-то в сервисах / контроллерах. Во время разработки все работает. Переключаюсь в prod ошибки в detail заменяются Bad Request. Правильно ли я понимаю, что не стоит исползовать Симфонивские Exeception а надо писать свои и делать кастомный обработчик?
Vlad
Сервисы вообще ничего не должны знать об http
Nikolay
Тут согласен
Vlad
Кроме тех сервисов которые связаны с http
Nikolay
Не могу в целом гайдов найти как именно best practice в symfony устроено по обработкам ошибок
Nikolay
просто в try catch и asJson? выбрасывать BadRequestHttpException?
Vlad
А detail фиксится декоратором Symfony/serializer
Nikolay
Так он установлен