Exemplo n.º 1
0
        $control = array_shift($uri_parts);
        // alias контроллера
        if (count($uri_parts) >= 1) {
            $action = array_shift($uri_parts);
            // alias action
        }
    }
    $ctrl = '\\App\\Controllers\\' . $control;
    if (!class_exists($ctrl)) {
        $e = new \App\Exceptions\Err404('Неверный адрес ');
        $e->setExtParams(['uri' => $_SERVER['REQUEST_URI'], 'ctrl' => $ctrl]);
        throw $e;
    }
    $controller = new $ctrl();
    if (!method_exists($controller, 'action' . $action)) {
        $e = new \App\Exceptions\Err404('Несуществующий адрес ');
        $e->setExtParams(['uri' => $_SERVER['REQUEST_URI'], 'ctrl' => $ctrl, 'act' => $action]);
        throw $e;
    }
    $controller->action($action);
} catch (\App\Exceptions\DB $e) {
    $err = new \App\Controllers\Error();
    $err->actionDbError($e->getMessage());
    $logger = new \App\LogUseLib();
    $logger->emergency($e->getMessage(), $e->getMess());
} catch (\App\Exceptions\Err404 $e) {
    $err = new \App\Controllers\Error();
    $err->action404($e->getMessage());
    $logger = new \App\LogUseLib();
    $logger->alert($e->getMessage(), $e->getMess());
}
Exemplo n.º 2
0
        $ctrl = !empty($pathRev[0]) ? 'App\\Controllers\\' . $pathRev[0] : 'App\\Controllers\\News';
        $action = 'Index';
        break;
    case 3:
        $ctrl = !empty($pathRev[1]) ? 'App\\Controllers\\' . $pathRev[1] : 'App\\Controllers\\News';
        $action = !empty($pathRev[0]) ? $pathRev[0] : 'Index';
        break;
    default:
        $ctrl = !empty($pathRev[2]) ? 'App\\Controllers\\' . $pathRev[2] : 'App\\Controllers\\News';
        $action = !empty($pathRev[1]) ? $pathRev[1] : 'Index';
        break;
}
try {
    $controller = new $ctrl();
    if (!method_exists($controller, 'action' . $action)) {
        throw new \App\Exceptions\Error404();
    }
    $controller->action($action);
} catch (\App\Exceptions\Error404 $e) {
    $error = new \App\Controllers\Error();
    $error->action404();
} catch (\App\Exceptions\Core $e) {
    echo 'Возникло исключение ' . $e->getMessage();
} catch (\App\Exceptions\Db $e) {
    $error = new \App\Controllers\Error();
    $error->error($e->getMessage());
    //  echo 'Что-то не так с базой ' . $e->getMessage();
} catch (\App\MultiException $e) {
    $error = new \App\Controllers\Error();
    $error->errorForm($e);
}