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(4mo ago)179118.0M↓29.1%1510MITPHPPHP &gt;=5.4.0CI failing

Since Oct 13Pushed 4mo ago1 watchersCompare

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

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

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

65

—

FairBetter than 99% of packages

Maintenance74

Regular maintenance activity

Popularity70

Solid adoption and visibility

Community33

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

142d 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

[composer/composer

Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.

29.5k196.2M3.1k](/packages/composer-composer)[ccxt/ccxt

A cryptocurrency trading API with more than 100 exchanges in JavaScript / TypeScript / Python / C# / PHP / Go

43.2k341.0k1](/packages/ccxt-ccxt)[react/http

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

78127.7M466](/packages/react-http)[team-reflex/discord-php

An unofficial API to interact with the voice and text service Discord.

1.1k420.9k26](/packages/team-reflex-discord-php)[rector/rector-src

Instant Upgrade and Automated Refactoring of any PHP code

136406.3k14](/packages/rector-rector-src)[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

492.3M35](/packages/clue-http-proxy-react)

PHPackages © 2026

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