У меня такой тип ситуаций, у меня есть контроллеры, например, AuthController с функциями регистрации и входа в систему, у меня есть служба под названием AuthService, здесь я реализую функции, в которых у меня есть вся логика и связь с базой данных.все, что я делаю в контроллере, это $ auth_service-> register ($ request), а затем служба аутентификации делает все, возвращает объект ответа, а затем в контроллере я возвращаю этот объект как Json.поэтому у меня нет красноречивых функций в контроллере, нет бизнес-логики, только 3-4 строки кода.Это хорошая практика?например, если мне нужна только функция Modell: all () в контроллере, я должен использовать сервисную функцию даже для этого небольшого куска кода, в противном случае у меня будет структура, в которой я иногда использую сервисы, а иногда нет.Также, когда я внедряю класс обслуживания в контроллер, я также внедряю все полезные модели (иногда другие сервисы) в этот сервис, если в одном контроллере иногда я использую сервис, а иногда работаю с моделями напрямую, то получается, что я внедряю модель в сервис ив контроллере (впрыскивание одной и той же модели два раза).так что я должен продолжать делать это и использовать сервис для каждого контроллера каждой функции?Я имею в виду, какой путь будет лучше и почему?
это функция регистра моего контроллера аутентификации:
protected $auth_service;
public function __construct(AuthService $auth_service){
$this->auth_service = $auth_service;
}
public function registerUser(UserRegisterRequest $request){
$registerUser = $this->auth_service->registerUser($request);
return response()->json($registerUser, 200);
}
, а это контроллер языка:
protected $language;
public function __construct(Language $language){
$this->language = $language;
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$languages = $this->language->getAllLanguage();
return response()->json(['data'=>$languages], 200);
}
в секундуВ примере я использую функцию модели напрямую из контроллера, но если я выберу этот первый пример лучше, я должен сделать языковой сервис и использовать его в методе индекса языкового контроллера, хотя он довольно прост и не требует каких-либо упрощений, так что вы думаете