Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 21.02.2018 14:40:10

Каковы должны быть границы области обязанностей модели?

Я привык создавать в моделях статические методы для типичных операциями над этими сущностями:

Class Book extends Model
{
  public static function createBook(Collectin $data) : Book {...}
  public static function updateBook(Book $book, Collectin $data) {...}
}

В методах расположена логика присвоения данных, вызов различных сопутствующих действий, которые всегда должны выполнятся при совершении таких операций. Например инвалидация кеша или отправка уведомлений.

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

В чем проблема такого подхода? Как сделать правильнее? Где должна размещаться логика внешних операций, которые должны обязательно выполнится при некоторых действиях над моделью?

Не в сети

#2 08.03.2018 14:13:47

Re: Каковы должны быть границы области обязанностей модели?

Модели должны быть тонкими.
Можно заюзать репозитории или еще лучше будет всю эту логику вынести в отдельный сервис.

Не в сети

Подвал раздела