Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
71 lines (45 sloc) 1.42 KB

React

Event-driven, non-blocking I/O with PHP.

Build Status

Install

The recommended way to install react is through composer.

{
    "minimum-stability": "dev",
    "require": {
        "react/react": "0.1.*"
    }
}

Design goals

  • Usable with a bare minimum of PHP extensions, add more extensions to get better performance.
  • Provide a standalone event-loop component that can be re-used by other libraries.
  • Decouple parts so they can be replaced by alternate implementations.

React is non-blocking by default. Use workers for blocking I/O.

Usage

Events

Most classes extend événement, allowing you to bind to events.

Example

Here is an example of a simple HTTP server listening on port 1337:

<?php

$i = 0;

$app = function ($request, $response) use (&$i) {
    $i++;

    $text = "This is request number $i.\n";
    $headers = array('Content-Type' => 'text/plain');

    $response->writeHead(200, $headers);
    $response->end($text);
};

$stack = new React\Espresso\Stack($app);
$stack->listen(1337);

Community

Check out #reactphp on irc.freenode.net. Also follow @reactphp on twitter.

Tests

To run the test suite, you need PHPUnit.

$ phpunit

License

MIT, see LICENSE.