register_shutdown_function 函数详解
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()函数捕捉非常,就能供给愈加友好的错误展现方式,同时可以实现一些功效的后续操纵,如施行完成后的暂时数据清算,包罗暂时文件等。
可以这样懂得调取前提:
1、当页面被会员强迫休止时
2、当程序代码运转超不时
3、当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 函数详解的具体内容,更多请关注百分百源码网其它相关文章!