amphp/react-adapter

Adapter to make any ReactPHP library compatible with Amp.

Package info

github.com/amphp/react-adapter

pkg:composer/amphp/react-adapter

Fund package maintenance!

amphp

Statistics

Installs: 181 546

Dependents: 8

Suggesters: 0

Stars: 25

Open Issues: 2

v2.1.0 2019-11-04 21:08 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 6a2bd361986e3e378471c14f5cfdbb5ee8d97162

  • Niklas Keller <me.woop@kelunik.com>

This package is auto-updated.

Last update: 2026-06-08 02:10:16 UTC


README

👁 Stable
👁 License

amphp/react-adapter makes any ReactPHP library compatible with Amp v2.

Note If you're using AMPHP v3, have a look at revolt/event-loop-adapter-react instead.

Installation

This package can be installed as a Composer dependency.

composer require amphp/react-adapter

Usage

Everywhere where a ReactPHP library requires an instance of LoopInterface, you pass ReactAdapter::get() to run the ReactPHP library on Amp's event loop.

<?php

require 'vendor/autoload.php';

use Amp\Loop;
use Amp\ReactAdapter\ReactAdapter;

Loop::run(function () {
 $app = function ($request, $response) {
 $response->writeHead(200, array('Content-Type' => 'text/plain'));
 $response->end("Hello World\n");
 };

 $socket = new React\Socket\Server(ReactAdapter::get());
 $http = new React\Http\Server($socket, ReactAdapter::get());

 $http->on('request', $app);
 echo "Server running at http://127.0.0.1:1337\n";

 $socket->listen(1337);
});

You can also use the adapter to run ReactPHP apps on an Amp event loop implementation without relying on Amp's global event loop.

$loop = new Amp\ReactAdapter\ReactAdapter((new Amp\Loop\DriverFactory)->create());