Я пытаюсь понять концепции контейнеров услуг и поставщиков услуг в Laravel.
На данный момент мое приложение состоит из (сгенерированных пользователем) моделей, представлений и контроллеров. Итак, довольно просто.
Но теперь я планирую создать задание cron, которое будет извлекать некоторые данные из внешнего сервиса. Эти данные должны храниться в моей базе данных. У меня также есть представление, где пользователи могут вручную вводить такие же данные. Мой контроллер проверяет ввод и сохраняет модель.
Однако я не хочу копировать логи c функции сохранения в моем контроллере, и я также не хочу вызывать эту же функцию из другого контроллера.
Так Я читал о поставщиках услуг. Я следовал некоторым учебникам и читал документы на laravel .com, но я почему-то не понимаю.
Например, у меня есть две модели: "Order" и "OrderEntry". В настоящее время единственной функцией в этих моделях является функция отношений, поэтому я могу вызывать $ order-> records () и $ entry-> order ().
Как я уже говорил, у меня есть OrderController, который проверяет некоторые вещи и хранит «Order» с помощью $ order-> save () в методе store OrderController.
Каков наилучший подход для этого? Также могу написать функцию магазина на самой модели «Заказ». Таким образом, я могу использовать один и тот же лог c в разных местах моего приложения.