Дмитрий, в контроллере просто принимается параметром $user или данные из $request, которые передаются в два сервиса, которые получат из внешних api данные и вернут в контроллер. Но это можно сделать и в контроллере, но нужно несколько блоков try catch на случай ошибки. Я и хотел спросить у опытных разработчиков, правильно ли будет вынести эту логику в сервисы и там получить данные и обработать try catch. Чтобы не засорять контроллер.
Дмитрий, можно, просто это будет класс у которого будет много задач, а я хотел бы их разделить, чтобы не дублировать часть кода в других местах приложения.
Дмитрий, ну один класс отвечает за одну задачу. Например, один сервис просто получает и возвращает данные из внешнего Api, например, список тарифов. Второй сервис получает и возвращает список купонов на скидку. Третий сервис делает подписку на основе данных полученных из первых двух сервисов. В контроллере мы получаем пользователя и передаем его в первый и второй сервис и получаем данные, которые мы можем передать в третий сервис или еще куда-нибудь...
Дмитрий, правильно ли я понимаю, что для каждого внешнего api будет правильно создать свой отдельный сервис или хелпер и там будет try catch со своим конкретным эксепшном, а в контроллере мы просту будем получать данные из этого сервиса с api и передавать в другой сервис с логикой?
Сергей delphinpro, Я тоже об этом думал. За последнее время я создал несколько небольших проектов сервисов онлайн услуг но если посмотреть на них то я вижу CRUD. Я нашел одну вакансию где было указано: чтобы код не являлся CRUD-проектом, а представлял собой целостное решение, связанное, например, с архитектурой, обработкой и манипуляцией сложными данными. Я хотел бы знать, каким должен быть проект, чтобы попадать под такую категорию ну и заодно может узнать что-то новое...