Запустите эту функцию только один раз при открытии веб-сайта и используйте ее на всех контроллерах Laravel - PullRequest
0 голосов
/ 01 мая 2020

Я хочу, чтобы эта функция, связанная с Crisp API, запускалась только один раз при открытии веб-сайта, и я использую ее во всех элементах управления. Потому что каждый раз, когда он хочет работать, скорость приложения замедляется.

      use Crisp;

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

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

1 Ответ

1 голос
/ 01 мая 2020

Если вы хотите выполнить команду один раз для каждого запроса, я предлагаю использовать Middleware для ввода вашего $CrispClient в запросе:

Middleware :

    public function handle($request, Closure $next)
    {
            $CrispClient = new Crisp();
            $CrispClient->authenticate("...", "...");

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

Контроллер

$crispClient = request()->crisp_client;
...