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

Since Oct 13Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/ezimuel/ringphp)[ Packagist](https://packagist.org/packages/ezimuel/ringphp)[ RSS](/packages/ezimuel-ringphp/feed)WikiDiscussions master Synced 2w 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

63

—

FairBetter than 99% of packages

Maintenance68

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

188d 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.5k199.6M3.4k](/packages/composer-composer)[ccxt/ccxt

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

43.6k344.8k1](/packages/ccxt-ccxt)[react/http

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

78028.1M485](/packages/react-http)[team-reflex/discord-php

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

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

Instant Upgrade and Automated Refactoring of any PHP code

136411.0k14](/packages/rector-rector-src)[elgg/elgg

Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications.

1.7k17.3k100](/packages/elgg-elgg)

PHPackages © 2026

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