Size: a a a

2020 May 16

RK

Roman Kolosov in Laravel Pro
он тоже за зп, но подход другой
источник

RK

Roman Kolosov in Laravel Pro
кароч не ссы и прорвешься, но если ты так говоришь - "лишь бы бабки", то о чем речь
источник

RK

Roman Kolosov in Laravel Pro
проблемаж не в том что ты хочешь денег, а в том что ты только их и хочешь, "а как генерить?)"
источник

А

Антон in Laravel Pro
Алексей Червон
ну для создания только сервис, а для выборок репа
Бля, да не репа это, хорош народ с толку сбивать. Теперь любой класс, который делает выборки, непременно репа?
источник

А

Антон in Laravel Pro
Алексей Червон
куда можно еще вынесли большие квери? В метод модели чтоли..
Да, в модели. Это AR, не надо из него лепить доктрину. На худой конец, сервисы, если ты будешь следить за тем, чтобы дальше них логика не утекала. А говорить, что обертка над моделями - это репозиторий, знач подтвеждать, что ты не знаешь матчасть.
источник

АЧ

Алексей Червон... in Laravel Pro
Антон
Да, в модели. Это AR, не надо из него лепить доктрину. На худой конец, сервисы, если ты будешь следить за тем, чтобы дальше них логика не утекала. А говорить, что обертка над моделями - это репозиторий, знач подтвеждать, что ты не знаешь матчасть.
Хранить сложные квери в моделях, вот это реально не бест практик.  Зачем нагружать объект кучей методов с выборками ?
источник

А

Антон in Laravel Pro
Алексей Червон
Хранить сложные квери в моделях, вот это реально не бест практик.  Зачем нагружать объект кучей методов с выборками ?
Я тебе уже ответил: потому что AR. Не надо тащить опыт доктрины или других орм. Или все внутри модели, или в сервисе, но не надо называть сервис репозиторием.
источник

АЧ

Алексей Червон... in Laravel Pro
Антон
Я тебе уже ответил: потому что AR. Не надо тащить опыт доктрины или других орм. Или все внутри модели, или в сервисе, но не надо называть сервис репозиторием.
Я не называю его таковым) я говорю что у меня есть репозиторий и сервис , и репозиторий выступает как слой абстракции для выборок, и таким образом он реализует своё предназначение, разве нет?
источник

А

Антон in Laravel Pro
Алексей Червон
Я не называю его таковым) я говорю что у меня есть репозиторий и сервис , и репозиторий выступает как слой абстракции для выборок, и таким образом он реализует своё предназначение, разве нет?
Давай сразу определимся с терминами. Репозиторий у тебя в проекте — это выборки для конкретной модели в рамках одного сервиса? То есть как у всех, кто называет такие сервисы "репозиториями"?
источник

АЧ

Алексей Червон... in Laravel Pro
Да, репозиторий = модель, но так не всегда бывает.. бывают случаи когда нужно разместить несколько моделей в одной репе.

> в рамках одного сервиса

Не всегда, репозиторий может использоваться отдельно от сервиса
источник

А

Антон in Laravel Pro
Алексей Червон
Да, репозиторий = модель, но так не всегда бывает.. бывают случаи когда нужно разместить несколько моделей в одной репе.

> в рамках одного сервиса

Не всегда, репозиторий может использоваться отдельно от сервиса
Но выборкой по-прежнему занимается модель, да? Прям настоящий репозиторий, у которого от него только название.
источник

АЧ

Алексей Червон... in Laravel Pro
Я согласен что тут получается двояко, что по факту с бд общается модель, но этот класс куда выносятся выборки и на выходе он отдаёт коллекцию, разве не репа? В теории я могу сделать другую реализацию репозитория если у него есть интерфейс, и в новой реализации сразу вернуть коллекцию, полученную например из монго, или сырым запросом..
источник

А

Антон in Laravel Pro
Смешались люди-кони. Наличие интерфейса не делает репозиторий репозиторием. Это просто хорошая практика, чтобы легко можно было отвязаться от хранилища, на которое репозиторию, тем не менее, должно быть все равно. Короче, у тебя самый типичный пример ларовского "репозитория", который ничего общего с реальным репозиторием не имеет. Выборкой по-прежнему занимается модель, модель знает о БД. У тебя просто еще один лишний слой абстракции, который ничего нового не добавляет, а просто делегирует работу такому же слою, но с названием "Модель". Если бы назвал это сервисом, претензий бы не было.
источник

АЧ

Алексей Червон... in Laravel Pro
Я соглашусь, но не понимаю почему ты против этого названия )) если называть его сервис, то вообще все в куче будет, и выборки и интеграции, и создание объектов. Другого названия кроме как репозиторий, для этого не нашёл...
источник

А

Антон in Laravel Pro
Потому что правильное использование терминов - это важно.

> если называть его сервис, то вообще все в куче будет

Странная логика. Тогда давай называть его контроллером, тогда ничего в куче не будет. Никто тебя не заставляет класть в твой сервис для выборки еще и интеграции или создание объектов. Сервис - это общая фигня, под которой называют все подряд, чему не могут придумать имя. В данном случае это просто сервис, который выбирает. Ты можешь добавить ему приставку Repository, но не называть его при этом реальным репозиторием. Вот и все. Как название - это ок, если в проекте все будут понимать, что этот сервис просто занимается выборкой, чтобы в модели оставить только сохранение и обновление.
источник

A

Arman in Laravel Pro
оу.. вчерашняя тема еще)
источник

АЧ

Алексей Червон... in Laravel Pro
Антон
Потому что правильное использование терминов - это важно.

> если называть его сервис, то вообще все в куче будет

Странная логика. Тогда давай называть его контроллером, тогда ничего в куче не будет. Никто тебя не заставляет класть в твой сервис для выборки еще и интеграции или создание объектов. Сервис - это общая фигня, под которой называют все подряд, чему не могут придумать имя. В данном случае это просто сервис, который выбирает. Ты можешь добавить ему приставку Repository, но не называть его при этом реальным репозиторием. Вот и все. Как название - это ок, если в проекте все будут понимать, что этот сервис просто занимается выборкой, чтобы в модели оставить только сохранение и обновление.
Понял)
источник

A

Arman in Laravel Pro
Алексей Червон
Я не называю его таковым) я говорю что у меня есть репозиторий и сервис , и репозиторий выступает как слой абстракции для выборок, и таким образом он реализует своё предназначение, разве нет?
> как слой абстракции для выборок
для всех выборок или только сложных? реально контроллеры не опрашивают модель?
источник

АЧ

Алексей Червон... in Laravel Pro
Для сложных, контроллеры вызывают сервис или репозиторий
источник

A

Arman in Laravel Pro
Алексей Червон
Для сложных, контроллеры вызывают сервис или репозиторий
тогда сложно назвать абстракцией, выходит частичная? положив в трейт почти тоже самое было бы? ну или в некий декоратор, которые научил модель делать сложные запросы?
источник