示例#1
0
})->addRoute('/hello/{name}', function ($name) use($fctrl) {
    return 'Hello ' . $name;
})->addRoute('/hello/{name}/controller', 'Demo\\DefaultController')->addRoute('/hello/{name}/method', 'mytest')->addRoute('/hello/{name}/view', 'src/templates/test.php')->addRoute('/hello/{name}/myview', 'myview')->addRoute('/hello/{name}/id/{id:\\d+}', 'args')->addRoute('/hello/{name}/id/{id:\\d+}/alt', 'altargs')->addRoute('/hello/{name}/test', array('\\Demo\\TestController', 'test'))->addRoute('/form', 'form')->addRoute('/saveform', 'saveForm', 'post')->addRoute('/error', function () use($fctrl) {
    trigger_error('a user test error ...', E_USER_ERROR);
})->addRoute('/exception', function () use($fctrl) {
    throw new \Exception('a user test exception ...');
})->addRoute('/notfoundexception', function () use($fctrl) {
    throw new \MVCFundamental\Exception\NotFoundException('a user test exception ...');
})->addRoute('/accessforbiddenexception', function () use($fctrl) {
    throw new \MVCFundamental\Exception\AccessForbiddenException('a user test exception ...');
})->addRoute('/servererror', function () use($fctrl) {
    throw new \MVCFundamental\Exception\InternalServerErrorException('a user test exception ...');
})->addRoute('/twoexceptions', function () use($fctrl) {
    throw new \MVCFundamental\Exception\InternalServerErrorException('a user test exception ...', 1, new \MVCFundamental\Exception\Exception('a secondary (previous) exception ...'));
})->addRoute('/debug', function () use($fctrl) {
    \MVCFundamental\Commons\Helper::debug(\MVCFundamental\AppKernel::getInstance());
})->addRoute('/logs', function () use($fctrl) {
    $log_dir = $fctrl->getOption('temp_dir');
    $dh = opendir($log_dir);
    $logs = array();
    $logs[] = 'LOGS DIR : ' . $log_dir;
    while (false !== ($filename = readdir($dh))) {
        if (substr($filename, -4) == '.log') {
            $logs[] = '##### ' . $filename;
            $logs[] = file_get_contents($log_dir . '/' . $filename);
        }
    }
    call_user_func_array(array('MVCFundamental\\Commons\\Helper', 'debug'), $logs);
})->on('event.1', array('Demo\\DefaultController', 'eventHandler'))->addRoute('/test/event2', function () use($fctrl) {
    $fctrl->trigger('event.2');
    return 'Event 2 was triggered';