<?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>
<?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();