入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

PHP函数register_shutdown_function的使用示例

创建时间:2016-08-23 投稿人: 浏览次数:3626

某些情况下,我们需要在程序执行结束时,做一些后续的处理工作,这个时候,php的register_shutdown_function函数就可以帮我们来实现这个功能。

函数简介

当PHP程序执行完成后,自动执行register_shutdown_function函数,该函数需要一个参数,用来指定由谁处理这些后续的工作。其中,程序执行完成,分为以下几种情况:

第一种:php代码执行过程中发生错误

第二种:php代码顺利执行成功

第三种:php代码运行超时

第四种:页面被用户强制停止

使用步骤

register_shutdown_function函数的使用非常简单,最多2步即可。

1. 自定义一个php类,名字为CustomHandle.php,内如如下:

<?php
namespace comantp;

class CustomHandle {
	
	public static function systemError() {
		$message = "";
		if ($error = error_get_last()) {
			//程序报错处理,通常会跳转到用户自定义的页面,同时记录错误信息
			$separator = "
";
			$message .= "错误:" . $error["message"] . $separator;
			$message .= "文件:" . $error["file"] . $separator;
			$message .= "行数:" . $error["line"] . $separator;
			$message = str_replace($separator, "<br />", $message);
			header("Location:http://".$_SERVER["HTTP_HOST"]."/error.php");
			exit;
		}else{
			//此处处理其它一些业务逻辑
		}
	}
}
2. 引入注册函数

在程序入口处,引入CustomHandle.php文件,同时,注册register_shutdown_function函数,如下:

require "CustomHandle.php";
register_shutdown_function(array("comantpCustomHandle","systemError"));

此时,不管你的php代码执行是否成功,最后都会CustomHandle类中的systemError方法。

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。