werkint/reactphp-http

此包已被弃用且不再维护。作者建议使用 werkint/reactphp-http 包。

用于构建事件驱动的HTTP服务器的库。

v0.4.2 2016-11-09 15:20 UTC

README

Build Status Code Climate

用于构建事件驱动的HTTP服务器的库。

此组件基于 Socket 组件实现HTTP,以下是一些主要概念

  • 服务器:将其自身附加到 React\Socket\ServerInterface 实例,解析任何传入的数据为HTTP,并为每个请求发出一个 request 事件。
  • 请求:一个 ReadableStream,它会流式传输请求体,并包含从请求头解析出的元数据。
  • 响应:一个 WritableStream,它会流式传输响应体。您可以通过 writeHead() 方法设置状态码和响应头。

快速入门示例

这是一个HTTP服务器,对每个请求都返回 Hello World

$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server($loop);

$http = new React\Http\Server($socket);
$http->on('request', function ($request, $response) {
    $response->writeHead(200, array('Content-Type' => 'text/plain'));
    $response->end("Hello World!\n");
});

$socket->listen(1337);
$loop->run();

也请参阅 示例