<?php /** * Main program * * @author Ruslanas Balciunas <*****@*****.**> */ $app = new Stream\App(); $app->uses(new \Stream\Cache()); $app->uses(new \Stream\Request()); $app->uses(new \Stream\Session()); $app->uses(new \Stream\Acl()); $app->loadConfig(); $app->service('QueryBuilder', function ($pdo, $structure) { return new \Stream\Util\QueryBuilder($pdo, $structure); }); $app->get('/', function ($req) use($app) { $controller = new modules\Home\Controller($req, $app); echo $controller->index(); }); // html5mode rewrite $app->hook('hook.notFound', function ($req) use($app) { echo $app->dispatch('/'); }); $app->domain('/user/:action', modules\Users\Controller::class); $app->rest('/users/:action.json', modules\Users\Controller::class); $app->domain('/tasks/:action', modules\Tasks\Controller::class); $app->rest(['/tasks.json', '/tasks/:id.json'], modules\Tasks\Api::class); $app->domain('/tasks/:action/:id', modules\Tasks\Controller::class); $app->domain('/dev/:action', modules\Homegrown\Dev\Controller::class); $app->domain('/contributors/:action', modules\Contributors\Controller::class);
<?php /** * @author Ruslanas Balciunas <*****@*****.**> */ session_start(); require 'vendor/autoload.php'; try { require_once 'index.php'; // <-- application setup echo Stream\App::getInstance()->dispatch($_SERVER['REQUEST_URI']); } catch (Stream\Exception\NotFoundException $e) { http_response_code(404); die($e->getMessage()); } catch (Stream\Exception\ForbiddenException $e) { http_response_code(401); die("Access error: " . $e->getMessage()); } catch (Stream\Exception\UnknownMethodException $e) { http_response_code(405); header($e->getAllow()); die($e->getMessage()); } catch (PDOException $e) { http_response_code(500); die("Database error: " . $e->getMessage()); } catch (Exception $e) { http_response_code(500); syslog(LOG_CRIT, $e->getMessage() . "\n" . $e->getTraceAsString()); die('Fatal error: ' . $e->getMessage()); }