PHPackages                             ezimuel/ringphp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. ezimuel/ringphp

ActiveLibrary[HTTP &amp; Networking](/categories/http)

ezimuel/ringphp
===============

Fork of guzzle/RingPHP (abandoned) to be used with elasticsearch-php

1.4.1(3mo ago)179109.4M—4.3%169MITPHPPHP &gt;=5.4.0CI failing

Since Oct 13Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/ezimuel/ringphp)[ Packagist](https://packagist.org/packages/ezimuel/ringphp)[ RSS](/packages/ezimuel-ringphp/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (3)Versions (21)Used By (9)

RingPHP
=======

[](#ringphp)

[![Build status](https://github.com/ezimuel/ringphp/workflows/PHP%20test/badge.svg)](https://github.com/ezimuel/ringphp/actions) [![Latest Stable Version](https://camo.githubusercontent.com/63d414a153deb35edb74d9f92677d6f22333010a9f95dc364124b20210ec9feb/68747470733a2f2f706f7365722e707567782e6f72672f657a696d75656c2f72696e677068702f762f737461626c65)](https://packagist.org/packages/ezimuel/ringphp)

**Note:** this is a fork of the original project since it was abandoned.

Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function. RingPHP be used to power HTTP clients and servers through a PHP function that accepts a request hash and returns a response hash that is fulfilled using a [promise](https://github.com/reactphp/promise), allowing RingPHP to support both synchronous and asynchronous workflows.

By abstracting the implementation details of different HTTP clients and servers, RingPHP allows you to utilize pluggable HTTP clients and servers without tying your application to a specific implementation.

```
require 'vendor/autoload.php';

use GuzzleHttp\Ring\Client\CurlHandler;

$handler = new CurlHandler();
$response = $handler([
    'http_method' => 'GET',
    'uri'         => '/',
    'headers'     => [
        'host'  => ['www.google.com'],
        'x-foo' => ['baz']
    ]
]);

$response->then(function (array $response) {
    echo $response['status'];
});

$response->wait();
```

RingPHP is inspired by Clojure's [Ring](https://github.com/ring-clojure/ring), which, in turn, was inspired by Python's WSGI and Ruby's Rack. RingPHP is utilized as the handler layer in [Guzzle](https://guzzlephp.org) 5.0+ to send HTTP requests.

Documentation
-------------

[](#documentation)

See  for the full online documentation.

###  Health Score

66

—

FairBetter than 99% of packages

Maintenance82

Actively maintained with recent releases

Popularity69

Solid adoption and visibility

Community32

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 67.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~243 days

Recently: every ~290 days

Total

18

Last Release

96d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/75c7c511421feb14316a01d29a7566bd4fdd97147b5a4f3faa5a065f9d0a0193?d=identicon)[ezimuel](/maintainers/ezimuel)

---

Top Contributors

[![mtdowling](https://avatars.githubusercontent.com/u/190930?v=4)](https://github.com/mtdowling "mtdowling (163 commits)")[![ezimuel](https://avatars.githubusercontent.com/u/475967?v=4)](https://github.com/ezimuel "ezimuel (34 commits)")[![dmnlk](https://avatars.githubusercontent.com/u/909198?v=4)](https://github.com/dmnlk "dmnlk (5 commits)")[![GrahamCampbell](https://avatars.githubusercontent.com/u/2829600?v=4)](https://github.com/GrahamCampbell "GrahamCampbell (4 commits)")[![sagikazarmark](https://avatars.githubusercontent.com/u/1226384?v=4)](https://github.com/sagikazarmark "sagikazarmark (4 commits)")[![reedy](https://avatars.githubusercontent.com/u/67615?v=4)](https://github.com/reedy "reedy (3 commits)")[![GeLoLabs](https://avatars.githubusercontent.com/u/149005863?v=4)](https://github.com/GeLoLabs "GeLoLabs (3 commits)")[![outtersg](https://avatars.githubusercontent.com/u/864883?v=4)](https://github.com/outtersg "outtersg (3 commits)")[![amateescu](https://avatars.githubusercontent.com/u/246655?v=4)](https://github.com/amateescu "amateescu (2 commits)")[![grifx](https://avatars.githubusercontent.com/u/1662628?v=4)](https://github.com/grifx "grifx (2 commits)")[![asgrim](https://avatars.githubusercontent.com/u/496145?v=4)](https://github.com/asgrim "asgrim (2 commits)")[![PawelDederko](https://avatars.githubusercontent.com/u/34214276?v=4)](https://github.com/PawelDederko "PawelDederko (1 commits)")[![pmgarman](https://avatars.githubusercontent.com/u/502720?v=4)](https://github.com/pmgarman "pmgarman (1 commits)")[![sheepfy](https://avatars.githubusercontent.com/u/17467949?v=4)](https://github.com/sheepfy "sheepfy (1 commits)")[![adoy](https://avatars.githubusercontent.com/u/80873?v=4)](https://github.com/adoy "adoy (1 commits)")[![vvondra](https://avatars.githubusercontent.com/u/101691?v=4)](https://github.com/vvondra "vvondra (1 commits)")[![cgierke](https://avatars.githubusercontent.com/u/8258457?v=4)](https://github.com/cgierke "cgierke (1 commits)")[![CHH](https://avatars.githubusercontent.com/u/16783?v=4)](https://github.com/CHH "CHH (1 commits)")[![fabioluciano](https://avatars.githubusercontent.com/u/499057?v=4)](https://github.com/fabioluciano "fabioluciano (1 commits)")[![jmalloc](https://avatars.githubusercontent.com/u/761536?v=4)](https://github.com/jmalloc "jmalloc (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ezimuel-ringphp/health.svg)

```
[![Health](https://phpackages.com/badges/ezimuel-ringphp/health.svg)](https://phpackages.com/packages/ezimuel-ringphp)
```

###  Alternatives

[react/http

Event-driven, streaming HTTP client and server implementation for ReactPHP

78026.4M414](/packages/react-http)[clue/http-proxy-react

Async HTTP proxy connector, tunnel any TCP/IP-based protocol through an HTTP CONNECT proxy server, built on top of ReactPHP

472.3M33](/packages/clue-http-proxy-react)[binsoul/net-mqtt-client-react

Asynchronous MQTT client built on React

48787.8k24](/packages/binsoul-net-mqtt-client-react)[discord-php/http

Handles HTTP requests to Discord servers

25318.7k8](/packages/discord-php-http)[jerome/fetch-php

The JavaScript fetch API for PHP.

4467.7k1](/packages/jerome-fetch-php)[clue/soap-react

Simple, async SOAP webservice client library, built on top of ReactPHP

64118.0k2](/packages/clue-soap-react)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
