![](/img/trans.png)
[英]Does PHP Have an Equivalent of Java's RequestDispatcher.forward?
[英]What is equivalent of RequestDispatcher#forward() Of Java in PHP?
RequestDispatcher基本上将请求调度到其他资源,即它不执行重定向,而只是将页面转发到某个页面(资源)。 因此,浏览器的历史记录等不会更新,并且request
中可用的参数在另一页上仍然可用,因为我们没有使用重定向创建新请求。
在PHP中这等效于什么? 还有哪个功能用于重定向页面?
提前致谢 :)
没有直接的对等物。
include
和family相似,但是在几个方面有所不同:
可能最相似的事情是内部Apache子请求(请参阅virtual
),但这与PHP本身无关。 调用PHP时,请求已被“分派”。 当然,如果需要,您可以使用PHP进行虚拟的“请求分配逻辑”,这意味着将所有请求发送到某个初始脚本,然后由该初始脚本决定要包含/执行的内容。 这就是几个框架所做的。
要重定向页面,您可以手动发送标题:
header("{$_SERVER['SERVER_PROTOCOL']} $code"); //code can be 301, 302, 303, 307
header("Location: $url");
像Java中一样,重定向和转发的概念也可以在PHP中实现。
重定向(地址栏中的URL更改)- header("Location: redirect.php");
转发(地址栏上的URL不变)- include forward.php ;
我希望,它可以通过此及其他已知的编程逻辑进行管理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.