Ejemplo n.º 1
0
Archivo: index.php Proyecto: bkb24/mvc
if ($route === false) {
    require $_SERVER['DOCUMENT_ROOT'] . "/" . $dir . "/views/404.php";
    die('match route');
}
$ctrl = "controllers\\" . $route['controller'] . "Controller";
if (!file_exists($_SERVER['DOCUMENT_ROOT'] . "/" . $dir . "/" . $ctrl . ".php")) {
    require $_SERVER['DOCUMENT_ROOT'] . "/" . $dir . "/views/404.php";
    die('not such controller!');
}
$a = new $ctrl();
$params = $route['params'];
if (method_exists($a, $route['action']) === false) {
    require $_SERVER['DOCUMENT_ROOT'] . "/" . $dir . "/views/404.php";
    die('not such action in the controller!');
}
$view = call_user_func_array(array($a, $route['action']), $params);
if (is_object($view)) {
    $view_path = file_exists($_SERVER['DOCUMENT_ROOT'] . "/" . $dir . "/views/" . $view->view_file . ".php");
    if (isset($view->data)) {
        foreach ($view->data as $key => $value) {
            ${$key} = $value;
        }
    }
    $auth = Auth::user();
    if ($view_path === false) {
        require $_SERVER['DOCUMENT_ROOT'] . "/" . $dir . "/views/404.php";
        die('no such view');
    } else {
        require $_SERVER['DOCUMENT_ROOT'] . "/" . $dir . "/views/" . $view->view_file . ".php";
    }
}