1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/yurunsoft-Guzzle-Swoole

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 2.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 21:32 91d7493

Guzzle-Swoole

Введение

Guzzle-Swoole позволяет Guzzle работать без потерь в среде Swoole-корутин. Для этого не нужно изменять ни одной строки кода сторонних пакетов, достаточно просто обеспечить поддержку корутин.

Поддерживаются версии Guzzle 6.x и 7.x.

Также поддерживаются Composer версий 1.x и 2.x.

Может использоваться в таких SDK, как ElasticSearch и AWS.

Совместим со всеми фреймворками Swoole.

QQ группа: 17916227 ![Нажмите, чтобы присоединиться к группе](https://pub.idqqimg.com/wpa/images/group.png «Нажмите, чтобы присоединиться к группе»)

Использование

Установка

  • Вручную измените composer.json: "yurunsoft/guzzle-swoole":"^2.2"
  • Установите через командную строку: composer require yurunsoft/guzzle-swoole

Настройка глобального обработчика

<?php
require dirname(__DIR__) . '/vendor/autoload.php';

use GuzzleHttp\Client;
use Yurun\Util\Swoole\Guzzle\SwooleHandler;
use GuzzleHttp\DefaultHandler;

// Добавьте эту строку в точку входа вашего проекта
DefaultHandler::setDefaultHandler(SwooleHandler::class);

go(function(){
    $client = new Client();
    $response = $client->request('GET', 'http://www.baidu.com', [
        'verify'    =>  false,
    ]);
    var_dump($response->getStatusCode());
});

Ручная настройка обработчика Swoole

use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use Yurun\Util\Swoole\Guzzle\SwooleHandler;

go(function(){
    $handler = new SwooleHandler();
    $stack = HandlerStack::create($handler);
    $client = new Client(['handler' => $stack]);
    $response = $client->request('GET', 'http://www.baidu.com', [
        'verify'    =>  false,
    ]);
    var_dump($response->getBody()->__toString(), $response->getHeaders());
});

Более подробные примеры кода можно найти в каталоге test.

ElasticSearch

$client = \Elasticsearch\ClientBuilder::create()->setHosts(['192.168.0.233:9200'])->setHandler(new \Yurun\Util\Swoole\Guzzle\Ring\SwooleHandler())->build();
1
https://api.gitlife.ru/oschina-mirror/yurunsoft-Guzzle-Swoole.git
git@api.gitlife.ru:oschina-mirror/yurunsoft-Guzzle-Swoole.git
oschina-mirror
yurunsoft-Guzzle-Swoole
yurunsoft-Guzzle-Swoole
master