在Laravel 5.5中使用外部数据

时间:2017-09-14 22:59:12

标签: php laravel singleton laravel-5.5

我正在构建一个必须显示从外部Web服务收集的数据的站点。此服务提供多个数据端点,这些端点均通过OAuth进行身份验证。

而不是每个视图都必须点击内部方法来生成这些数据(并且每次都登录到外部服务),似乎要创建一个单独的(懒惰)连接到首次加载需要数据的视图时的数据提供程序服务,然后支持视图的各种方法可以调用此相同的服务提供程序来获取数据。

作为服务提供商,这在Laravel世界中是最好的吗?作为一个单身的助手班?或者其他一些方式?

1 个答案:

答案 0 :(得分:0)

每次收到请求时,您的Laravel应用程序都会从​​头开始引导(您可以缓存先前请求中的对象,但不能缓存实例化的服务),因此无法创建在请求之间保持运行身份验证的服务(至少用PHP)。

创建服务并对每个请求进行一次身份验证并不罕见。

话虽这么说,您可以使用$ app-> bind()或$ app-> singleton()创建服务并将其绑定到容器。

关于它的文档:https://laravel.com/docs/5.5/container