Skip to content

revoltphp/event-loop-adapter-react

Repository files navigation

event-loop-adapter-react

Stable License

revolt/event-loop-adapter-react makes any ReactPHP library run on top of the Revolt event loop.

Installation

composer require revolt/event-loop-adapter-react

Usage

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

<?php

require 'vendor/autoload.php';

use Revolt\EventLoop;
use Revolt\EventLoop\Adapter\React\RevoltLoop;

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

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

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

$socket->listen(1337);

EventLoop::run();

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

$loop = new Revolt\EventLoop\Adapter\React\RevoltLoop((new Revolt\EventLoop\DriverFactory)->create());

About

Makes any ReactPHP based library run on top of the Revolt event loop.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages