PHP函数register_shutdown_function的使用示例

本文介绍如何使用PHP的register_shutdown_function函数进行程序执行后的收尾处理,包括错误处理及业务逻辑执行等。

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

函数简介

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

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

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

第三种:php代码运行超时

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

使用步骤

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

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

 


 
  1. <?php

  2. namespace com\antp;

  3.  
  4. class CustomHandle {

  5.  
  6. public static function systemError() {

  7. $message = '';

  8. if ($error = error_get_last()) {

  9. //程序报错处理,通常会跳转到用户自定义的页面,同时记录错误信息

  10. $separator = "\r\n";

  11. $message .= "错误:" . $error['message'] . $separator;

  12. $message .= "文件:" . $error['file'] . $separator;

  13. $message .= "行数:" . $error['line'] . $separator;

  14. $message = str_replace($separator, '<br />', $message);

  15. header('Location:http://'.$_SERVER['HTTP_HOST'].'/error.php');

  16. exit;

  17. }else{

  18. //此处处理其它一些业务逻辑

  19. }

  20. }

  21. }

2. 引入注册函数

 

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

 


 
  1. require 'CustomHandle.php';

  2. register_shutdown_function(array('com\antp\CustomHandle','systemError'));


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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值