public static function run() { ob_start(); self::$baseUrl = rtrim(dirname(self::getScriptUrl())); self::$baseUrl = preg_replace('/\\/$/', '', self::$baseUrl); self::$basePath = defined('BASE_PATH') ? BASE_PATH : dirname(__FILE__); self::$viewPath = defined('VIEW_PATH') ? VIEW_PATH : self::$basePath . '/views'; $scriptUrl = self::getScriptUrl(); $request = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '*'; $method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : '*'; foreach (explode('/', $scriptUrl) as $part) { if (empty($part)) { continue; } $request = preg_replace('@^/' . $part . '@i', '', $request); } if (empty($request)) { $request = '/'; } else { $request = explode('?', $request, 2); $request = array_shift($request); } self::callRoute($method, $request); }