Null
Пасаны. Вопрос по безт практиз. Что лучше? Возвращать ошибки в контроллере, или кидать хттп экзепщон и обрабатывать их на уровне сериализации флаттена?
Null
Сложная система атрибутов. Ты заранее описываешь все допустимые типы. Число, строка, фото, набор фото и прочее. У сущности, ну давай, товар есть базовый набор. Цена, название и т.д. Но клиент может добавить ей еще "оформление" как атрибут, пусть будет список. А там список из бантик, тарелка с каймой, коробочка.
Null
И в итоге поздравляю, вы написали недоцмс
Null
А могли взять готовую и вскрыть себе вены не изобретать велосипед.
Null
Ну. Я тебе дал абсолютно универсальную структуру. Ограничить ее всегда несложно.
Юра
Ты даже не описал кто настраивает каталог
Null
Ты б пример дал неабстрактный.
Null
Я вот могу взять газету и в туалете подстроить ее "под свои нужды". 😂
Юра
Делаешь через мэни ту мэни customFields и все
Null
Ну и? Берешь мою сложнейшую структуру и создаешь у тренировки зафиксированные атрибуты. А остальное тренер сам прицепит.
Юра
Или берешь друпал )
Null
Или берешь друпал )
Как я выше и написал. И перестаёшь играть в крутого архитектора собственной цмс.
Null
А то это выглядит как цмс, пахнет как цмс и на вкус как цмс. Но не цмс.
Dmitriy
Не бери цмс
Maksym
Народ, всем привет. Вопрос: когда нужно получить результат выборки, например юзеров, в сервисе заказов, то нужно это делать через сервис юзера, или остаточно подтянуть только репозиторий юзера в сервис заказа и вызвать метод с репозитория?
Maksym
спасибо
Юра
Главное нигде больше тогда не использовать репозиторий, а том это усложнит понимание проекта
Юра
Прийдётся искать и в репозитории и в сервисе
Павел
Если я правильно понимаю сам, то лучше делать через сервис юзера, так разделение по слоям остаётся.
А вот честно - хз: 1) Так будут цикличные зависиомсти на изи 2) Как тогда работать если нет "сервисов" таких больших? Делать сервис с 1 методом выборки, который дергает репохиторий? Сервис чисто для прослойки к репо? хз.
Юра
Репозиторий и так сервис
Павел
И от меня вопрос, здратути)) Кто как мапит управление one -to -many связями? Кейс: с фронта прилетает колллекция, которую надо установить в сущность: [{id:1, name: "for change"}, {id: null, name:"for insert"}] и еще надо удалить будет c id =3, потому что она сейчас есть, а запросе как видим нет. Собственно возникают вопросы: 1) Где лучше сделать логику какую сущность изменить, какую удалить, какую добавить? 2) Что вообще должно прилетать в главную сущность (в которой хранится коллекция), какая то DTO (которая не улетает в БД) или сами сущности? Но как тогда например управлять удалением и добавлением(ведь id то нет). В application слое?
Павел
Так сервис для прослойки к репо делается что бы зависимости не протекали на слой ниже? (Я ещё балбес в этом))
Ну выходит сервис ради сервиса, ну и не понятно что куда протекает, верхние слои видят нижние, а наоборот нет. Ну если я правильно стороны раставил)
Юра
Я свой гист кидать не буду уже а то захейтили
Gleb
Репозиторий и так сервис
Репозиторий уже привязывается же к реализации доктрины в данном случае.
Павел
Репозиторий уже привязывается же к реализации доктрины в данном случае.
Как это вообще к вопросу относится, какая реализаци внутри репо?
Юра
Ну сервис прослойка привяжется к репозиторию. Не знаю я не понимаю этих разделений прослоек
Юра
Тут где-то обсуждалось что типо можно разделит еще по принципу если это простой запрос через dql, то это репозиторий, если сложный резалт сет мапиинг то это DataSource
Юра
Разделяй как хочешь короче )
Gleb
Как это вообще к вопросу относится, какая реализаци внутри репо?
Мы меняем репо реализацию на репо с апи внешнего сервиса вместо бд и не трогаем сервис. Но вообще хз, я вообще битриксоид 😂 там ни то, ни то не принято.
Павел
Мы меняем репо реализацию на репо с апи внешнего сервиса вместо бд и не трогаем сервис. Но вообще хз, я вообще битриксоид 😂 там ни то, ни то не принято.
Для этого делаются интерфейсы на репозиторий, а не прокладка в виде сервиса, антикарапшен лаереа. Хотя как вариант - рабочий, но сложнее.
Gleb
В общем меня в двух местах учили разделять на репо и сервис. Деталей уже не расскажу зачем именно.
Павел
В общем меня в двух местах учили разделять на репо и сервис. Деталей уже не расскажу зачем именно.
Разделить то понятно надо (персистенс от логики), но зачем дергать в сервисе репо через другой сервис - не понятно
Павел
Не, мб конечно как раз слой защиты, но тогда там и не юзер должен быть в итоге, а своя оболочка
Sergey
понапридумывают себе проблем. Слоев каких-то. Писали бы все в контроллерах - не было бы проблем))
Юра
понапридумывают себе проблем. Слоев каких-то. Писали бы все в контроллерах - не было бы проблем))
Ну. Понадобилось сохранять во внешний сервис, копипаст проекта, переписал и всё
Gleb
А всё, сообразил, уточняю. Учили что в репозитории всё что dql, dbal, raw, сервис (менеджер) - всё что нужно другим сервисам.
Gleb
Возможно это что-то к ддд.
Юра
по ДДД репозиторий доктрины это немного не тот репозиторий
Юра
Заведи себе интерфейс с описанием методов, зафигачь алиас на доктрин репозиторий
Юра
Заведи себе интерфейс с описанием методов, зафигачь алиас на доктрин репозиторий
Понадобится созранять во внешний сервис, заведешь другую реализацию интерфейса и поменяешь алиас
Gleb
Кстати, а кто что скажет за https://github.com/symfony/demo код нормальный? как пример "как надо писать" брать можно?
Sergey
писать "надо" согласно бюджету и предполагаемых масштабов проекта)
Gleb
писать "надо" согласно бюджету и предполагаемых масштабов проекта)
Спасибо, я так в битрикс попал 😂 Год уже вырваться от него пытаюсь.
Sergey
Спасибо, я так в битрикс попал 😂 Год уже вырваться от него пытаюсь.
битрикс не так уж и плох в определенном спектре задач)
Gleb
битрикс не так уж и плох в определенном спектре задач)
Да, но как спец с ним больше деградируешь, чем развиваешься.(((
Gleb
экспорт в 1с? )
Он из коробки почти никогда не работает. 😂😂😂 Потому что 1С не такая
Sergey
экспорт в 1с? )
на чем вы быстрее напишете интернет-магазин для местного магазинчика с одной единственной точкой?
Gleb
На Битриксе + Аспро. За 5 шапок сухарей.
Sergey
вот именно.
Gleb
вот именно.
Но с другой стороны там 10 шапок сухарей почти никак бюджета не получить. А про масло и свежий хлеб можно и не вспоминать)
Null
Он из коробки почти никогда не работает. 😂😂😂 Потому что 1С не такая
Ты што! Там же полная интеграция с 1с из коробки!! 1
Null
Выгрузка товаров на сайт в виде 5000 хмлок.
Gleb
Ты што! Там же полная интеграция с 1с из коробки!! 1
я нашего менеджера научил клиентам кидать список требований от Битрикса к этому "работает из коробки". Клиенты после него почему-то грустнеют.
Sergey
к тому же, в плане заработка есть хитрость с продажей лицензий)
Gleb
к тому же, в плане заработка есть хитрость с продажей лицензий)
Ага, как весной, когда почти всех поломали, кто не обновлен был?) Жаркая неделька была у меня всем сайты восстанавливать.
Юра
Наверное 1С и ломанула всех )
Юра
Зная как у нас бизнес делается
Gleb
Ладно, можно мне флешбэки не устраивать, я только уволился и отошёл от этого)
Gleb
нет, там нюансы с партнерской скидкой и перепродажей лицензий же
Наши видимо эту фишку не раскурили. Мы взяли золотого партнёра и всё, на этом движухи закончились.
Sergey
а так интересно, что поломали) У нас из ~60 клиентов пали смертью храбрых только двое. И с битриксом проблемы не были связаны
Null
Если вы хотите переопределить отправку емейл - сделайте в таком-то файле. Только если в нем стак трейс кинуть - письмо готовилось готовилось, потом ты такой вклинился и забыли что готовили.
Gleb
а так интересно, что поломали) У нас из ~60 клиентов пали смертью храбрых только двое. И с битриксом проблемы не были связаны
Дефейсили главную, ломали учетку админа в БД и что-то ещё терли. В общем либо бэкапы, либо частично восстанавливали данные.
Sergey
какой ужас)
Sergey
ядро было времен динозавров что ли?
Gleb
ядро было времен динозавров что ли?
нет.) там из смешного, что после обновления пару клиентов продолжали ломать. Я там пару файлов им патчил сам, с напутствием следить за этой и этой дыркой.
Null
ядро было времен динозавров что ли?
Часть клиентов жадность берет и они не обновляются. Часть приходит с изнасилованным битриксом, который прямо в ядре правился. Обновление там - мрак.