Example #1
0
<?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);
Example #2
0
<?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());
}