public function testCreateSilexApplication() { $logger = new \Psr\Log\NullLogger(); $silex = new Silex\Application(array('debug' => true, 'logger' => $logger)); $silex->register(new \PHPExtra\Proxy\Provider\Silex\ProxyServiceProvider(), array('logger' => $logger, 'proxy.storage' => new \PHPExtra\Proxy\Storage\InMemoryStorage(), 'proxy.adapter.name' => 'dummy', 'proxy.adapter.dummy.handler' => $silex->protect(function (\PHPExtra\Proxy\Http\RequestInterface $request) { return new \PHPExtra\Proxy\Http\Response('I see ' . $request->getRequestUri()); }), 'proxy.logger.access_log' => $logger)); $silex->register(new \PHPExtra\EventManager\Silex\EventManagerServiceProvider()); $silex->boot(); $request = \Symfony\Component\HttpFoundation\Request::create('http://test.com/ping'); $response = $silex->handle($request); $silex->terminate($request, $response); $this->assertEquals('I see /ping', $response->getContent()); $this->assertEquals(200, $response->getStatusCode()); }
<?php require __DIR__ . '/../vendor/autoload.php'; use G\HttpServer\Builder; use Symfony\Component\HttpFoundation\Request; $app = new Silex\Application(); $app->get('/', function () { return 'Hello'; }); $app->get('/hello/{name}', function ($name) { return 'Hello ' . $name; }); Builder::createReactServer(function (Request $request) use($app) { return $app->handle($request); })->listen(1337);