TP框架的 redirect方法是怎么实现跳转的?一看源码,完全不能理解啊
程序员文章站
2022-05-06 14:55:50
...
TP框架的 redirect方法是如何实现跳转的?一看源码,完全不能理解啊。。
protected function redirect($url,$params=array(),$delay=0,$msg='') {
$url = U($url,$params);
redirect($url,$delay,$msg);
}
先生存一个url,然后递归传入第三第四个参数。。
它的跳转到底是怎么实现的???
------解决方案--------------------
函数体内的redirect 是调用了一个函数:
参见 框架内置的functions.php文件
redirect
说明:
void redirect($url, $time=0, $msg='')
URL重定向
源码:
protected function redirect($url,$params=array(),$delay=0,$msg='') {
$url = U($url,$params);
redirect($url,$delay,$msg);
}
先生存一个url,然后递归传入第三第四个参数。。
它的跳转到底是怎么实现的???
------解决方案--------------------
函数体内的redirect 是调用了一个函数:
参见 框架内置的functions.php文件
redirect
说明:
void redirect($url, $time=0, $msg='')
URL重定向
源码:
function redirect($url, $time=0, $msg='') {
//多行URL地址支持
$url = str_replace(array("\n", "\r"), '', $url);
if (empty($msg))
$msg = "系统将在{$time}秒之后自动跳转到{$url}!";
if (!headers_sent()) {
// redirect
if (0 === $time) {
header('Location: ' . $url);
} else {
header("refresh:{$time};url={$url}");
echo($msg);
}
exit();
} else {
$str = "";
if ($time != 0)
$str .= $msg;
exit($str);
}
}
相关文章
相关视频
下一篇: php实现文件上传原理和报错原因详解