Esempio n. 1
0
 public static function redirect($url, $isExternal = false, $statusCode = 200)
 {
     if (array_key_exists($statusCode, self::$headerByCode)) {
         header(self::$headerByCode[$statusCode]);
     }
     if ($isExternal) {
         header('Location: ' . $url);
         exit;
     }
     $request = _Core_Request::getFake($url);
     $router = new _Core_Router($request, _Core_TemplateEngine::getPrepared($request));
     try {
         $router->performRequest();
     } catch (Exception $e) {
         // Вывод отладочной информации
         if (DEBUG) {
             echo highlight_string("<?php\n" . $e->getTraceAsString());
             exit;
         } elseif ('/notfound' == $url) {
             exit;
         } else {
             self::redirect('/notfound', false, 404);
         }
     }
 }