Я работаю над API, используя Laravel. Я пишу бизнес-логику и логику приложения и стараюсь максимально разделить их. Тем не менее, я новичок в таких понятиях. Например, у меня есть логика для входа в систему пользователя. Я должен проверить:
- Если данные кредиты действительны или нет?
- Если в системе существуют кредиты?
- Если пользователь активен или нет
- сохранить данные
- Попробуйте получить некоторые данные, но не найдены
- и так далее ...
Я проверяю не все это в контроллере (поскольку я думаю, что это не обязанность контроллера), а в отдельном LoginFormProcessor
классе, который делегируется контроллером.
Если все проверки пройдены, LoginFormProcessor
делегирует объект для сохранения / получения объекта в / из базы данных. Вот иерархия:
Controller -> LoginFormProcessor -> Repository
Я хочу вернуть подробные ошибки JSON (если они есть), возникшие в LoginFormProcessor
или Repository
, но не напрямую из этих классов (поскольку это не является их обязанностью), а из Контроллера.
Как я могу вернуть упомянутые ошибки Контроллеру, чтобы Контроллер мог создать значимый ответ и отправить клиенту.
Должен ли я возвращать некоторые коды ошибок типа integer из LoginFormProcessor
и Repository
? Но тогда мне придется проверить все возможные коды ошибок, другая головная боль. Я не думаю, что это хорошая практика.
Есть какие-нибудь предложения и хорошие практики по этому поводу?