【发布时间】:2017-01-22 22:50:07
【问题描述】:
我对 Laravel 非常陌生,我想知道哪里是连接到 3rd 方 API 的理想位置。这是需要在我的系统中发生的请求的一般流程
1) 用户在表单中输入输入(使用 Angular 将数据发送到后端
2) 路由文件将请求路由到我在 Laravel 中创建的控制器(我实际上使用的是我使用 laravel 命令行创建的资源)
3) 在某处,我需要从该请求中获取一些数据并通过 CURL 将其发送给第 3 方并获取响应
4) 在其他地方,我需要解析该响应并在其上运行一些业务逻辑,我将在其中获取一些结果并将它们发送回客户端。其他数据将保存到数据存储(MySQL)中
现在我假设数据访问层将是我最终创建的 laravel 模型,但我对 API 连接以及业务逻辑的理想位置感到困惑。
我的第一个想法是这应该通过中间件来完成,但在进一步阅读文档后,现在看起来这只是一个过滤层。我当然可以将它放入模型中,这似乎满足“Fat Model Skinny Controller”范式,但出于某种原因我不喜欢这样。我希望我的数据访问层独立于业务逻辑,我也不想将所有这些废话都放入控制器中,因为这显然是错误的。
那么它应该去哪里呢?
【问题讨论】:
-
出于好奇,如果你是 Laravel 的新手,为什么要从一个过时的版本开始?这是您正在采用的现有代码库吗?
-
我实际上并没有意识到它是一个过时的版本,直到我把它全部设置好,我在关注这个:laravel.com/docs/4.2/quick#installation,它在 laravel.com 网站上,特别显示安装版本 4.2 所以我以为是最新版本。 -- 附录 -- 我得到那个链接的原因是这是谷歌搜索“laravel quickstart”的第一个结果
-
好吧,不幸的是,你肯定想从 Laravel 5.3 重新开始。在 4 到 5 之间,编码和功能的易用性有了巨大的改进。
标签: php laravel model-view-controller