【发布时间】:2018-09-03 16:03:18
【问题描述】:
我正在使用 Laravel 开发一个 API。我正在编写业务逻辑和应用程序逻辑,并尽我所能将它们尽可能地分开。但是,我对这些概念很陌生。例如,我有登录用户的逻辑。我必须检查:
- 给定的凭据是否有效?
- 系统中是否存在凭据?
- 用户是否处于活动状态
- 保存数据
- 尝试获取一些数据,但没有找到
- 等等……
我不是在控制器中检查所有这些(因为我认为这不是控制器的责任),而是在控制器委派的单独的 LoginFormProcessor 类中检查。
如果所有检查都通过,LoginFormProcessor 将委托对象在数据库中/从数据库中保存/获取对象。这是层次结构:
Controller -> LoginFormProcessor -> Repository
我想返回发生在 LoginFormProcessor 或 Repository 中的详细 JSON 错误(如果有),但不是直接来自这些类(因为这不是他们的责任)而是来自控制器。
如何将上述错误返回给 Controller,以便 Controller 创建有意义的响应并发送给客户端。
我应该从LoginFormProcessor 和Repository 返回一些整数类型的错误代码吗?但随后我将不得不检查所有可能的错误代码,这是另一个令人头疼的问题。我认为这不是一个好习惯。
有什么建议和好的做法吗?
【问题讨论】:
标签: oop laravel-5 design-patterns model-view-controller