/** * 路由到另外的页面 * * @param object $controller 当前跳转的控制器 * @param string $url 你想路由到的页面的 URL * @param boolean $rememberCurrent 是否记录当前页面的 URL,方便你之后用 jumpBack() 回到这个页面, 比如现在你需要让用户去登陆,登陆完之后你希望能返回当前页面 * * */ public static function reRoute($controller, $url, $rememberCurrent = false) { global $f3; if ($rememberCurrent) { self::setJumpBackUrl(Route::getFullURL()); } // reroute 之前调用 afterRoute() 方法 if (isset($controller) && is_object($controller) && method_exists($controller, 'afterRoute')) { $controller->afterRoute($f3); } // 如果 URL 不是绝对地址,我们生成绝对地址(静态化的时候保持地址格式一致) if (self::$isMakeStaticUrl && !Route::isUrlAbsolute($url) && false === strpos($url, '?')) { $url = Route::makeUrl($url, null, false, true); } if (Route::$enableSessionIdUrl) { $url = Route::addParam($url, array(session_name() => session_id())); } $f3->reroute($url); }