Php 仅在网站打开时运行此功能一次,并在所有控制器上使用此功能

Php 仅在网站打开时运行此功能一次,并在所有控制器上使用此功能,php,laravel,controller,laravel-6,Php,Laravel,Controller,Laravel 6,我希望这个连接到Crisp API的函数在网站打开时只运行一次,并且在所有控件中使用它。因为每次它想要运行时,应用程序的速度都会减慢 use Crisp; private function CrispClient() { $CrispClient = new Crisp(); $CrispClient->authenticate("3a44293-706-4290-838-c063b58", "96

我希望这个连接到Crisp API的函数在网站打开时只运行一次,并且在所有控件中使用它。因为每次它想要运行时,应用程序的速度都会减慢

      use Crisp;

      private function CrispClient()
        {
            $CrispClient = new Crisp();

            $CrispClient->authenticate("3a44293-706-4290-838-c063b58", "969b80676b5a671f2ee7a44f2452f7d152ed3c0c4a");
            return $CrispClient;
        }

如果希望每个请求运行一次命令,我建议使用中间件将$CrispClient注入请求中:

中间件:

控制器


一旦打开网站,你的意思是每次加载页面吗?是的,我不会说英语请检查我的答案-如果对你有帮助,请接受它否,返回null。在返回$next$request;?之前,请添加$request->好吗?我认为不要将中间件导入控制器您可以查看有关如何注册中间件的文档:
    public function handle($request, Closure $next)
    {
            $CrispClient = new Crisp();
            $CrispClient->authenticate("...", "...");

            $request->merge(['crisp_client' => $CrispClient]);
            return $next($request);
    }
$crispClient = request()->crisp_client;