<?php
class Test {
public function foo() {
echo "Foo!";
die();
}
public function __destruct() {
header('location: http://google.com');
}
}
$Test = new Test;
$Test->foo();
我有一个类,只需分配各种Session变量,然后将用户ping回以前的脚本。我认为在destruct上有一个重定向而不是10行说同样的事情会更简单。
我后来在我的剧本中发现了一个错误,发现它几乎不可用。为了将来参考,无论如何要杀死这个脚本还是总是重定向?
为了澄清,即使使用die(),脚本也会重定向,在foo函数中退出。
答案 0 :(得分:1)
$Test
对象被破坏:它不会仅仅因为浏览器不会收到标题而重定向!但是,如果您明确unset($Test);
,它将
UPD :我错了:脚本会在浏览器仍然连接的情况下调用所有析构函数。但是,我不会依赖那个