register_shutdown_function 函数详解-php教程

资源魔 37 0

未标题-7.png

php开发测试及线上的时分能够依据没有同状况设定谬误以及异样解决需求用到有

设定谬误以及异样解决三函数

register_shutdown_function(array(‘Debug’,'fatalError’)); //界说PHP顺序执行实现后执行的函数
set_error_handler(array(‘Debug’,'appError’)); // 设置一个用户界说的谬误解决函数
set_exception_handler(array(‘Debug’,'appException’)); //自界说异样解决。

上面讲一下register_shutdown_function() 函数.

性能:register_shutdown_function() 函数可完成当顺序执行实现后执行的函数,其性能为可完成顺序执行实现的后续操作。顺序正在运转的时分可能存正在执行超时,或强迫封闭等状况,但这类状况下默许的提醒长短常没有敌对的,假如应用register_shutdown_function()函数捕捉异样,就能提供愈加敌对的谬误展现形式,同时能够完成一些性能的后续操作,如执行实现后的暂时数据清算,包罗暂时文件等。

能够这样了解挪用前提:

一、当页面被用户强迫中止时

二、当顺序代码运转超不时

三、当PHP代码执行实现时,代码执行存正在异样以及谬误、正告

实例阐明

1. 一个简介的例子 , 挪用一个函数

<?php
    function test() {
        echo "test()";
    }
    register_shutdown_function(array("test"));
    echo "show: ";
 ?>

这个例子输入

show: test()

这个函数的作用就是正在加入剧本前,挪用曾经注册的函数,并执行该函数。

2. 正在类顶用一个数组作为一个参数

<?php
class ClassDemo {
    public function __construct() {
        register_shutdown_function(array($this, "f"));
    }
 
    public function f() {
        echo "f()";
    }
}
 
$demo = new ClassDemo();
echo "before </br>";
?>

输入:

before
f()

3. 带有参数的例子:

<?php
function f($str) {
        echo $str."<br>";
}
  
register_shutdown_function("f","hello");
 
class ClassDemo {
    public function __construct() {
        register_shutdown_function(array($this, "f"),"hello");
    }
 
    public function f($str) {
        echo "f():".$str;
    }
}
 
$demo = new ClassDemo();
echo "before </br>";  
?>

留意事项

1,register_shutdown_function()函数可反复挪用,但执行的程序与注册的程序相反
2,假如正在挪用register_shutdown_function()函数以前有exit()函数挪用,register_shutdown_function()函数将不克不及执行
3,PHP4后支持注册函数参数通报(PHP视频教程)
4,正在某些效劳端,如Apache,以后目次正在register_shutdown_function()函数中可以扭转
5,register_shutdown_function()函数执行正在headers发送之后

以上就是register_shutdown_function 函数详解的具体内容,更多请存眷资源魔其它相干文章!

标签: php开发教程 php开发资料 php开发自学 函数 register_shutdown_function

抱歉,评论功能暂时关闭!