<?php require __DIR__ . "/../vendor/autoload.php"; use React\Http\Request; use React\Http\Response; use React\EventLoop\Factory; use Voidcontext\Arc\Reactor\App; use Voidcontext\Arc\Reactor\Server\Adapter\ReactHttpServer; $loop = Factory::create(); $server = new ReactHttpServer($loop); $app = new App($server, ['port' => 1337]); $app->get('/', function (Request $request, Response $response) { $response->writeHead(200); $response->write("Awesome response at " . $request->getPath()); $response->end(); }); $app->post('/', function (Request $request, Response $response) { $response->writeHead(200); $response->write("Awesome response at " . $request->getPath() . "\n"); $response->write("Body: " . $request->getBody() . "\n"); $response->end(); }); $app->run(); $loop->run();
use React\Http\Response; use React\EventLoop\Factory; use Voidcontext\Arc\Reactor\App; use Voidcontext\Arc\Reactor\Server\Adapter\ReactHttpServer; $loop = Factory::create(); $connection = new React\MySQL\Connection($loop, array('dbname' => 'benchmark', 'user' => 'root')); $connection->connect(function () { }); $server = new ReactHttpServer($loop); $app = new App($server, ['port' => 1337]); $app->get('/', function (Request $request, Response $response) use($connection) { $connection->query("INSERT INTO product (name) values (?)", [uniqid("product")], function ($command, $conn) use($response) { if ($command->hasError()) { $response->writeHead(500); $response->end(); } else { $conn->query("SELECT LAST_INSERT_ID() as id", function ($cmd, $conn) use($response) { if ($cmd->hasError()) { $response->writeHead(500); $response->end(); } else { $response->writeHead(200, ["Content-Type" => "application/json"]); $response->write(json_encode([id => $cmd->resultRows[0]['id']])); $response->end(); } }); } }); }); $app->run(); $loop->run();