示例#1
0
ReactJS HTTP Server

Usage:
  server.php [INPUT ...] [-p=]

Options:
  -h --help         Show this screen.
  -p=               Port
DOC;
// Parse the docopt doc block
$args = Docopt\docopt($doc);
$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server($loop);
$http = new React\Http\Server($socket);
// Set up react using v8
$react = ReactJS\ReactFactory::createUsingV8($args['INPUT']);
function validateRequest($data)
{
    $errors = [];
    if (empty($data['renderType'])) {
        $errors[] = 'renderType empty';
    } elseif (!in_array($data['renderType'], ['mountable', 'static'])) {
        $errors[] = 'Invalid renderType';
    }
    if (empty($data['componentPath'])) {
        $errors[] = 'componentPath empty';
    }
    if (empty($data['props'])) {
        $errors[] = 'props empty';
    }
    return $errors;
示例#2
0
<?php

require __DIR__ . '/../vendor/autoload.php';
$v8 = ReactJS\ReactFactory::createUsingV8([__DIR__ . '/../tests/fixtures/bundle.js']);
echo $v8->renderAutoMountingComponent('./TestComponent'), PHP_EOL;
echo $v8->renderMountableComponent('./TestComponent'), PHP_EOL;
echo $v8->renderStaticComponent('./TestComponesnt'), PHP_EOL;