amphp / react-adapter
适配器,使任何 ReactPHP 库与 Amp 兼容。
v2.1.0
2019-11-04 21:08 UTC
Requires
- amphp/amp: ^2
- react/event-loop: ^0.5 || ^1
Requires (Dev)
- amphp/php-cs-fixer-config: dev-master
- phpunit/phpunit: ^7 || ^6.4
This package is auto-updated.
Last update: 2024-09-07 21:58:38 UTC
README
amphp/react-adapter
使任何 ReactPHP 库与 Amp v2 兼容。
注意 如果您正在使用 AMPHP v3,请查看
revolt/event-loop-adapter-react
。
安装
此包可以作为 Composer 依赖项安装。
composer require amphp/react-adapter
用法
在任何需要 LoopInterface
实例的 ReactPHP 库中,您可以通过传递 ReactAdapter::get()
来在 Amp 的事件循环上运行 ReactPHP 库。
<?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); });
您还可以使用适配器在不依赖 Amp 的全局事件循环的情况下,在 Amp 事件循环实现上运行 ReactPHP 应用。
$loop = new Amp\ReactAdapter\ReactAdapter((new Amp\Loop\DriverFactory)->create());