@blantcat

А Вы используете паттерн Repository?

Просмотрел несколько примеров Repository для Laravel. По сути это обертки над ActiveRecord, которые возвращают коллекции ActiveRecord . Получается польза нулевая, если вообще не отрицательная.

Варианты решения:

1. Возвращать в методах репозитория только массивы.
2. Возвращать в методах Entity, но тогда нужно писать гидраторы.
3. Прикрутить Doctrine, но есть ли смысл тогда вообще использовать laravel ?!

А как Вы решаете эту проблему в своих проектах. Посоветуйте, пожалуйста ?
  • Вопрос задан
  • 638 просмотров
Пригласить эксперта
Ответы на вопрос 2
amelihovv
@amelihovv
Фулстек веб разработчик
Использую, только в редких случаях: когда заведомо знаю, что источник данных будет меняться. Вот пример: https://github.com/melihovv/laravel-shopping-cart/... . И да, репозитории должны возвращать одно и то же, явно не eloquent модель или коллекцию моделей. Вместо доктрины для ларавеля приятно использовать analogue https://github.com/analogueorm/analogue .
Ответ написан
AmdY
@AmdY
PHP и прочие вебштучки
Не использую совместно с AR, польза действительно нулевая. Придерживаюсь только одного правила - считаю что методы модельки protected (save-find-where) и не дёргаю их за пределами модели , всегда создаю свои методы. Так всё инкапсулируется в одном месте и затем легко расширять, менять, рефакторить и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы