API调用驻留在存储库模式laravel应用程序中的哪个位置?

时间:2015-12-10 04:21:36

标签: php api laravel laravel-5 repository-pattern

我正在构建一个包含第三方api集成的Web应用程序,其中包括

  1. 付款网关
  2. 短信供应商
  3. 电子邮件提供商,如mandrill
  4. 现在我可以拥有具体的存储库类,其中与我的数据库通信的函数所在。据我所知,存储库是用于与数据库通信的标准实践。现在我在哪里构建调用第三方API的逻辑?这是服务提供商的意义吗?如果那么有人可以向我展示整个流程如何运作的非常基本的例子吗?例如,通过致电服务提供商从控制器发送短信。这个问题似乎可能会转移,但我无法获得任何示例或在线搜索它。没有现实世界的例子可见。

    如果有人做了同样的事情,请提供一些参考或示例。

    TIA!

1 个答案:

答案 0 :(得分:0)

严格来说,存储库用于封装高级访问一组数据的方法。

话虽如此,但没有任何迹象表明这是使用它们的唯一方法。模式本身允许您将不同的流程分组到不同的位置,从而改善代码的组织。

此时人们可能会说他们不再是知识库,但最重要的因素不仅仅是坚持最严格意义上的设计模式。它使用的模式适合您的应用程序需求,有时也可能会扭曲模式所暗示的含义。

并非所有标准或模式都完全适合您的应用,也不应该。您应该在需要时进行更改并在适当时中断约定。这是一个判断问题。如果您认为使用存储库作为高效访问方法的有效集合(在服务等其他层中具有应用程序逻辑)或应用程序逻辑集合,则更为简单。两者都是。