All Projects → Yurunsoft → Guzzle Swoole

Yurunsoft / Guzzle Swoole

Licence: mit
让基于 Guzzle 的项目完美无缝兼容 Swoole 协程,支持:Guzzle、Elasticsearch client——来自宇润 PHP 全家桶

Projects that are alternatives of or similar to Guzzle Swoole

Yurunhttp
YurunHttp 是开源的 PHP HTTP 客户端,支持链式操作,简单易用。完美支持Curl、Swoole 协程。QQ群:17916227
Stars: ✭ 197 (+37.76%)
Mutual labels:  coroutine, swoole, guzzle
Imi
imi 是基于 Swoole 的 PHP 协程开发框架,它支持 Http、Http2、WebSocket、TCP、UDP、MQTT 等主流协议的服务开发,特别适合互联网微服务、即时通讯聊天im、物联网等场景!。QQ群:17916227
Stars: ✭ 680 (+375.52%)
Mutual labels:  coroutine, swoole
Archer
基于协程Swoole的Task组件,支持多种模式。轻松实现协程Task的队列、并发、Defer、计时器等 | Swoole coroutine task kit - Swoole Humanization Library
Stars: ✭ 132 (-7.69%)
Mutual labels:  coroutine, swoole
Saber
⚔️ Saber, PHP异步协程HTTP客户端 | PHP Coroutine HTTP client - Swoole Humanization Library
Stars: ✭ 866 (+505.59%)
Mutual labels:  coroutine, swoole
Swoole Docker
See: https://github.com/swoole/docker-swoole
Stars: ✭ 132 (-7.69%)
Mutual labels:  coroutine, swoole
Easyswoole
swoole,easyswoole,swoole framework
Stars: ✭ 4,409 (+2983.22%)
Mutual labels:  coroutine, swoole
Swoft Db
[READ ONLY] Database Compoment for Swoft
Stars: ✭ 25 (-82.52%)
Mutual labels:  coroutine, swoole
Simps
🚀 A simple, lightweight and high-performance PHP coroutine framework.
Stars: ✭ 318 (+122.38%)
Mutual labels:  coroutine, swoole
Swoft Framework
[READ ONLY] Swoft Framework, base of Swoft
Stars: ✭ 70 (-51.05%)
Mutual labels:  coroutine, swoole
Mix
☄️ PHP CLI mode development framework, supports Swoole, WorkerMan, FPM, CLI-Server / PHP 命令行模式开发框架,支持 Swoole、WorkerMan、FPM、CLI-Server
Stars: ✭ 1,753 (+1125.87%)
Mutual labels:  coroutine, swoole
Php Coroutine Engine
This project for php-fpm support coroutine
Stars: ✭ 74 (-48.25%)
Mutual labels:  coroutine, swoole
Hyperf
🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
Stars: ✭ 4,206 (+2841.26%)
Mutual labels:  coroutine, swoole
Yurunoauthlogin
PHP 第三方登录授权 SDK,集成了QQ、微信、微博、Github等常用接口。支持 php-fpm 和 Swoole,所有框架通用。QQ群:17916227
Stars: ✭ 330 (+130.77%)
Mutual labels:  coroutine, swoole
Swoft
🚀 PHP Microservice Full Coroutine Framework
Stars: ✭ 5,420 (+3690.21%)
Mutual labels:  coroutine, swoole
Shadowfax
Run Laravel on Swoole.
Stars: ✭ 325 (+127.27%)
Mutual labels:  coroutine, swoole
Paysdk
PHP 集成支付 SDK ,集成了支付宝、微信支付的支付接口和其它相关接口的操作。支持 php-fpm 和 Swoole,所有框架通用。宇润PHP全家桶技术支持群:17916227
Stars: ✭ 723 (+405.59%)
Mutual labels:  coroutine, swoole
Yii2 Swoole
full solutions making yii2-framework run on swoole with coroutine.
Stars: ✭ 86 (-39.86%)
Mutual labels:  coroutine, swoole
swoole-postgresql-doctrine-driver
🔌 A Doctrine DBAL Driver implementation on top of Swoole Coroutine PostgreSQL client
Stars: ✭ 15 (-89.51%)
Mutual labels:  swoole, coroutine
PHPMailer-Swoole
安装最新版Swoole,开启一键协程化,使用原版phpmailer就可以实现协程化了。本项目已经没有维护下去的意义。
Stars: ✭ 25 (-82.52%)
Mutual labels:  swoole, coroutine
Swpdo
Swoole Coroutine SQL component like PDO | 0成本迁移PDO到Swoole高性能协程客户端
Stars: ✭ 64 (-55.24%)
Mutual labels:  coroutine, swoole

Guzzle-Swoole

Latest Version Php Version Swoole Version IMI License

介绍

guzzle-swoole 可以无损支持 Guzzle 在 Swoole 协程环境下的运行,不需要修改任何一行第三方包代码,即可支持协程化。

支持 Guzzle v6.x、v7.x。

支持 Composer v1.x、v2.x。

可以用于 ElasticSearchAWS 等 SDK 当中。

兼容所有 Swoole 框架。

QQ群:17916227 点击加群

使用说明

安装

手动改 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();
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].