<?php

putenv('DEBUG=1');
require __DIR__ . '/../vendor/autoload.php';
class HeaderFilter extends Server\Layer
{
    public function call(Server\Request $req = null, Server\Error $err = null)
    {
        $res = parent::call($req, $err);
        $res->body = '<h1>' . $res->body . '</h1>';
        return $res;
    }
}
class FrontController extends Server\Controller
{
    public function index()
    {
        return 'Hello, world!';
    }
}
$app = new Server\Module();
$app->employ(['class' => 'HeaderFilter']);
$app->map(['controller' => 'FrontController']);
$app->call()->send();
// outputs: <h1>Hello, world!</h1>
Beispiel #2
0
<?php

putenv('DEBUG=1');
require __DIR__ . '/../vendor/autoload.php';
class TestController extends Server\Controller
{
    public function index()
    {
        $this->res->write('test');
    }
    public function writeByReturn()
    {
        return 'test';
    }
    public function returnData()
    {
        return array('test' => 'test');
    }
}
$module = new Server\Module();
$module->map(['pattern' => '*', 'controller' => 'TestController']);
$res = $module->call();
$res->send();
require __DIR__ . '/../vendor/autoload.php';
//////////////////////////////////////////////////////////////////////////////
class Renderer extends Server\Module
{
    public function call(Server\Request $req = null, Server\Error $err = null)
    {
        $res = parent::call($req, $err);
        $res->body = '<pre style="border: 3px solid #00f; padding: 1em;">rendered: ' . $res->body . '</pre>';
        return $res;
    }
}
//////////////////////////////////////////////////////////////////////////////
class Compression extends Server\Module
{
    public function call(Server\Request $req = null, Server\Error $err = null)
    {
        $res = parent::call($req, $err);
        // $res->write('gzip:');
        $res->body = '<pre style="border: 3px solid #f00; padding: 1em;">compressed: ' . $res->body . '</pre>';
        return $res;
    }
}
//////////////////////////////////////////////////////////////////////////////
$app = new Server\Module();
$app->employ(array('class' => 'Compression'));
$app->employ(array('class' => 'Renderer'));
$app->map(array('fn' => function ($req, $res) {
    $res->write('CONTENT');
}));
$res = $app->call();
$res->send();