Size: a a a

2021 June 13

DZ

Daniil Zobov in Laravel Pro
регулярно происходит
источник

MR

Maxim Rebitskiy in Laravel Pro
Ну мы сидим на ларе, вы не переходите например на доктрину, то есть менять “способ работы с БД” не собираетесь. Первый вопрос, тогда зачем делать еще один уровень “абстракции”?

Вы используете далее модели от Лары, создете “сервис” для логики, и там вам нужно получить юзеров с ролью (как писали потом пример). В сервисе вы вместо вывозва двух методов от модели, “зовете” репозиторий, и потом через него эти два метода вызываете. Но что мешало вызвать их там же? Нужно переиспользовать? Давайте вынесем их в отдельный класс работы с юзерами, или отдельный метод, если переиспользуем тут же. Вы не планируете менять далее ORM, работаете с одной, проект пишете не под OpenSource, где в теории кто-то захочет поменять ORM, так зачем репозиторий? Что бы вписать в список регалий проекту, или так в книжках пишут, что нужно использовать много паттернов?
источник

DZ

Daniil Zobov in Laravel Pro
Кто-то кстати съезжал с елки на доктрину, оставаясь при этом в ларке?
Что приобрели, что потеряли по опыту?
источник

MR

Maxim Rebitskiy in Laravel Pro
Мне кажеться в таком случае проще собрать лару по частям отдельно будет) Или начать с Люмена
источник

OL

O L in Laravel Pro
Но я не писал о получении юзеров с ролью. Я писал что проблема скоупа, что для юзеров к которых есть методы для конкретных ролей (банальный пример - только менеджеру нужен список работников) всеравно этот метод будет в модели юзер. Таким образом модель станет гипертолстой уже на середине проекта. Чет вы прям меня очень не так поняли) Но тут еще прикол - вы предлагаете вынести методы в отдельный класс. Но в репозитории они уже в отдельном классе)
источник

OL

O L in Laravel Pro
в целом я ваше предложение понял) я попытаюсь его использовать и если это будет удобно - круто)
источник

OL

O L in Laravel Pro
спора тут нет - вы поделились опытом, а мне это и надо было
источник

DZ

Daniil Zobov in Laravel Pro
Вопрос не обвязки, а сравнения - плюсы и минусы
источник

MR

Maxim Rebitskiy in Laravel Pro
Получение юзеров с ролью просто самый просто пример, вот я его и упомянул.

Я за скоупы тоже не говорил то по сути)

Я предлагаю их выносить, и то цепочку методов только, в том случае если вы их переиспользуете. А так в каком методе эта цепочка висит, разницы не вижу.
источник

MR

Maxim Rebitskiy in Laravel Pro
Не знаю, пока не встречал проектов таких в живую.
Помню был один пример на гитхабе с доктриной, но больше не слышал особо о таком опыте.
источник

DZ

Daniil Zobov in Laravel Pro
Просто все вокруг визжат о крутости доктрины и что eloquent в сравнении полная шляпа.

Вот я тоже хочу услышать живой опыт, может и правда есть смысл начать мылить лыжи.
источник

MR

Maxim Rebitskiy in Laravel Pro
В таком случае мылить их нужно вообще с лары)
источник

РМ

Роман Мишин... in Laravel Pro
Интересный вопрос) Могут ли перехватить Sanctum токен и использовать в своих целях те, кто является выходной нодой в TOR?
источник

АБ

Александр Балыхин... in Laravel Pro
Что бы представить самый очевидный пример использования репозитория в рамках лары достаточно привести пример проекта где иерархию категорий сперва завели как nested set а потом решили перейти на Adjacency list
источник

АБ

Александр Балыхин... in Laravel Pro
И таких примеров можно привести множество - настройки перенесены из конфига в базу, валюты принесены из базы в апи. И на крайний случай - монолит решили разделить на сервисы. Если имеем под такие вещи репозиторий то изменения минимальные.
источник

АБ

Александр Балыхин... in Laravel Pro
Так же есть пример облегчения рефакторинга при использовании репозитория. К примеру пакет с пачкой моделей переместили и для больших проектов это значит что затронуто будет много файлов потому что они связаны с моделями. А в целом до тех пор пока не понятно для чего нужен репозиторий проще его не использовать.
источник

A

Adel in Laravel Pro
Да, вот только называть такую абстракцию Репозиторием некорректно.
источник

y

yu2ry in Laravel Pro
А как
источник

АБ

Александр Балыхин... in Laravel Pro
Вполне корректно
источник

A

Adel in Laravel Pro
Да как угодно. Хоть сервисом
источник