在Laravel中使用API​​的清洁解决方案?

时间:2015-04-22 18:14:27

标签: php json api laravel

有没有人干净整洁?在Laravel中使用API​​的大多数代码有效的解决方案?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

许多人似乎忘记的一件事是模型在MVC中的真正含义。大多数时候,它们只是数据库的抽象层,但它们并非必须如此。它们也可以是与外部API交互的服务。

所以说,当我在使用外部API的网站上构建一个功能时,我通常首先要为API创建一个模型。然后我尝试将方法命名为Eloquent方法尽可能相似,因为这是我最常使用的方法,并且往往最有意义。

这些方法只是与API交互,您甚至可以使用API​​的结果来填充集合对象。我们的想法是以一种您甚至不想与第三方API进行交互的方式设计您的模型。

在模型的顶部,我还将构建一个存储库,其中包含您的应用程序与API交互所需的任何业务逻辑。例如,如果您需要从API中获取某个项目,则可能需要首先检查自己的数据库以获取缓存版本。如果没有,请从API中获取项目并缓存/重新缓存,然后将结果返回给控制器。

然后,您将存储库注入您的控制器,并随身携带它。

此外,它可能非常明显,但API键和API的入口点在配置文件或.env文件中会很好,具体取决于您使用的Laravel版本。在第三方推出您想要使用的较新API版本的情况下,如果您需要更新模型,最好还是使用服务提供商来管理依赖注入。在这种情况下,将模型编码到接口有可能在以后为您节省一些麻烦。

最后一点,在你开始之前,首先检查packagist。重新发明轮子毫无意义。