- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我发现如果我有以下设置,PHP5 不会调用 __destruct() 函数:
class test { __destruct() { echo 'hehe'; exit; }}header('Location: http://test.com/');exit;
它从不调用 destruct 函数
最佳答案
destructor被称为:
使用 header 进行重定向不会阻止调用析构函数。
另请注意,析构函数在 PHP 脚本的末尾被调用——但不会阻止重定向,因为 header “重定向”已经生成。
例如,使用这段代码:
class Test {
public function __destruct() {
echo 'hehe';
file_put_contents('/tmp/test-desctructor.txt', "glop\n");
exit;
}
}
$a = new Test();
header('Location: http://example.com/');
exit;
(请注意,我纠正了一些错误,并添加了该类的实际实例)
您不会在输出中看到“hehe
”,但您会发现文件 /tmp/test-desctructor.txt
已创建:
$ cat /tmp/test-desctructor.txt
glop
如果您想在输出中获得“hehe
”,您需要删除重定向。
生成 header 后调用析构函数——从析构函数调用 exit 不会改变 header 已经生成的事实。
哦,这是来自 manual 的注释(引用——在页面底部):
Note: Destructors called during the script shutdown have HTTP headers already sent.
这就是为什么您看不到“hehe
”字符串的原因:析构函数被调用;你只是在屏幕上看不到它 ;-)
这就是我在示例中使用文件的原因,顺便说一句 ;-)
关于php - 如果使用重定向,PHP5 会调用 __destruct() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1456935/
我正在尝试使用谷歌浏览器的 Trace Event Profiling Tool分析我正在运行的 Node.js 应用程序。选择点样本后,我可以在三种 View 之间进行选择: 自上而下(树) 自上而
对于一个可能是菜鸟的问题,我们深表歉意,但尽管在 SO 上研究了大量教程和其他问题,但仍找不到答案。 我想做的很简单:显示一个包含大量数据库存储字符串的 Android ListView。我所说的“很
我已经开始了一个新元素的工作,并决定给 Foundation 5 一个 bash,看看它是什么样的。在创建带有水平字段的表单时,我在文档中注意到的第一件事是它们使用大量 div 来设置样式。所以我在下
我有一个 Windows 窗体用户控件,其中包含一个使用 BeginInvoke 委托(delegate)调用从单独线程更新的第 3 方图像显示控件。 在繁重的 CPU 负载下,UI 会锁定。当我附加
我有一堆严重依赖dom元素的JS代码。我目前使用的测试解决方案依赖于 Selenium ,但 AFAIK 无法正确评估 js 错误(addScript 错误不会导致您的测试失败,而 getEval 会
我正在制作一款基于滚动 2D map /图 block 的游戏。每个图 block (存储为图 block [21][11] - 每个 map 总共 231 个图 block )最多可以包含 21 个
考虑到以下情况,我是前端初学者: 某个 HTML 页面应该包含一个沉重的图像(例如 - 动画 gif),但我不想强制客户缓慢地等待它完全下载才能享受一个漂亮的页面,而是我更愿意给他看一个轻量级图像(例
我正在设计一个小软件,其中包括: 在互联网上获取资源, 一些用户交互(资源的快速编辑), 一些处理。 我想使用许多资源(它们都列在列表中)来这样做。每个都独立于其他。由于编辑部分很累,我想让用户(可能
我想比较两个理论场景。为了问题的目的,我简化了案例。但基本上它是您典型的生产者消费者场景。 (我关注的是消费者)。 我有一个很大的Queue dataQueue我必须将其传输给多个客户端。 那么让我们
我有一个二元分类问题,标签 0 和 1(少数)存在巨大不平衡。由于测试集带有标签 1 的行太少,因此我将训练测试设置为至少 70-30 或 60-40,因此仍然有重要的观察结果。由于我没有过多地衡量准
我是一名优秀的程序员,十分优秀!