0

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

与其让每个视图都必须使用内部方法来生成这些数据(并且每次都登录到外部服务),不如创建一个单例来(懒惰地)连接到数据提供者服务时会更好。首先加载需要数据的视图,然后支持视图的各种方法只需调用同一个服务提供者即可获取数据。

作为服务提供商,这在 Laravel 世界中会是最好的吗?作为一个单身人士的助手类?还是其他方式?

4

1 回答 1

0

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

创建服务并为每个请求进行一次身份验证的情况并不少见。

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

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

于 2017-09-15T04:36:19.730 回答