register_shutdown_function是做什么的?
我对它的用法和用途一无所知。我知道您可以使用它,并且可以很好地适应自定义错误处理程序,但我不知道如何传递它,如何处理它,等等。
有人能为这个编程新手用最简单的术语解释一下吗?
发布于 2012-11-22 02:12:51
这实际上是一个非常简单的函数。所以你有一个php脚本:
<?php
echo "Here is my little script";
function endScript(){
echo "My little Script has finished";
}
register_shutdown_function('endScript');
?>基本上,你的脚本会运行,当它结束时,因为我们添加了这一行register_shutdown_function('endScript');,它将调用函数endScript,最后输出My little script has finished。
这是来自documentation的一点额外信息
注册在脚本执行完成后执行的回调,或者可以对register_shutdown_function()进行exit()的called.Multiple调用,并且每个回调的调用顺序与注册时的顺序相同。如果在一个已注册的关闭函数中调用exit(),则处理将完全停止,并且不会调用任何其他已注册的关闭函数。
*更新
当你在php中频繁使用名为exit()的函数时,它就有很大的用处。
例如:
<?php
function endScript(){
echo "My little Script has finished";
}
register_shutdown_function('endScript');
$result = some_intricate_function()
if($result == 0){
exit();
}
$result = some_other_intricate_function()
if($result == 0){
exit();
}
/* and this keeps reoccurring */
?>现在请注意,即使多次调用exit,也不必每次都在exit之前调用endScript函数。你在一开始就注册了它,现在你知道如果你退出或者你的脚本结束了,你的函数就会被调用。
现在,当然,我的关机功能是非常无用的;但如果你需要清理东西,它可以变得有用(即。关闭打开的文件句柄,保存一些持久数据等)
发布于 2012-11-22 02:10:18
register_shutdown_function注册一个关闭钩子,这是一个在脚本关闭时要执行的函数。它接受一个回调函数作为参数,这是要执行的函数。
我建议您查看函数的documentation。
https://stackoverflow.com/questions/13499399
复制相似问题