ezimuel/ringphp
RingPHP provides a lightweight, PSR-7–focused abstraction for HTTP clients and servers, inspired by the Ring specification. Compose middleware-style handlers, adapt to popular transports, and build reusable, testable HTTP stacks without locking into a single client.
ezimuel/ringphp remains a PSR-7 HTTP message implementation optimized for streaming, with no architectural changes in 1.4.1. The core value proposition—low-level HTTP handling for Elasticsearch-PHP or custom middleware—remains unchanged. The PHP 8.5 compatibility update reinforces its relevance for modern Laravel stacks (PHP 8.5+).elasticsearch/elasticsearch v8+, but Laravel’s native HttpClient (using Symfony HTTP Client) may still suffice for most use cases.guzzlehttp/ringphp in Elasticsearch-PHP.HttpClient, custom middleware remains the only integration path, and the streaming optimizations are still niche.symfony/http-client or guzzlehttp/psr7.curl_close() (issue #17) indicates responsiveness to edge cases, but no major features were added, raising questions about long-term roadmap.elasticsearch/elasticsearch strictly requiring this package, or is it optional?symfony/http-client for Laravel’s Elasticsearch workloads?HttpClient or Symfony HTTP Client deprecate PSR-7 streaming in favor of native PHP 8.5+ features (e.g., Swoole or ReactPHP integrations)?guzzlehttp/ringphp (PHP 8.5+).guzzlehttp/ringphp to this fork.HttpClient or Guzzle remain simpler alternatives.composer require ezimuel/ringphp:^1.4
elasticsearch/elasticsearch v8+.use Ezimuel\RingPHP\Stream\Request;
use Ezimuel\RingPHP\Stream\Response;
public function handle($request, Closure $next) {
$streamRequest = new Request($request->toPsrRequest());
$response = $next($streamRequest);
return new Response($response->toPsrResponse());
}
guzzlehttp/psr7 (PSR-7 collisions).composer prefer-lowest to test version conflicts.guzzlehttp/ringphp in Elasticsearch-PHP config (if applicable).symfony/http-client for Laravel’s use case.guzzle/ringphp.ezimuel/ringphp for updates.symfony/http-client for Laravel-native solutions.guzzlehttp/guzzle for complex HTTP needs.ezimuel stops maintaining the fork. Mitigation: Fork the repo internally.RingPHP support, the package becomes obsolete. Mitigation: Monitor elasticsearch/elasticsearch roadmap.How can I help you explore Laravel packages today?