Используйте Guzzle в Laravel разработке пакетов - PullRequest
0 голосов
/ 06 марта 2020

Недавно я работаю над пакетом для Laravel.

Я на начальном уровне по Laravel Разработка пакета.

Мне нужно использовать Guzzle Client для запроса API от этого пакета.

Если я использую GuzzleHttp\Client; в моем контроллере, он показывает, что класс не найден. (Я знаю почему. Потому что он находится вне папки приложения и не загружается автоматически по этому пути)

Теперь, как я могу использовать жрет внутри моего пользовательского контроллера пакетов.

Вот что я хочу:

Это мой метод управления:

 public function packageList($vendor, $type)
    {
        $client = new Client();
        $result = $client->get('https://packagist.org/packages/list.json?vendor='.$vendor.'&type='.$type, [
            'form_params' => [
                'sample-form-data' => 'value'
            ]
        ]);

        dd($result);
    }

Я прикрепил классы Guzzle

use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Client;

Получение исключения:

Class 'GuzzleHttp\Client' not found

1 Ответ

0 голосов
/ 06 марта 2020

Нашел этот ответ в стеке с тем же вопросом

Откройте свой терминал в root вашего проекта и введите

composer require guzzlehttp/guzzle

Это сработало для API почтового оружия. По какой-то причине предлагаемый метод на почте laravel делает c. Вы можете установить этот пакет в свой проект, добавив следующую строку в ваш composer. json файл

"guzzlehttp/guzzle": "~5.3|~6.0"

не заставляет composer загрузить исходный код Guzzle коды. Кстати, я не узнал, что | средства при определении версии. Эта команда просто загружает код PSR.

В данный момент решение может работать. Однако следует помнить о проблемах совместимости. Поскольку команда установит последнюю стабильную версию, а не подходящую.

ответьте: shampoo

, если это не поможет, попробуйте прочитать документы: http://docs.guzzlephp.org/en/stable/quickstart.html

...