register_shutdown_function函數在php中具體應用(含詳解)

2020-07-16 10:05:56

register_shutdown_function在php中的應用(含詳解)

某些情況下,我們需要在程式執行結束時,做一些後續的處理工作,這個時候,php的register_shutdown_function函數就可以幫我們來實現這個功能。

一 register_shutdown_function函數簡介

當PHP程式執行完成後,自動執行register_shutdown_function函數,該函數需要一個引數,用來指定由誰處理這些後續的工作。其中,程式執行完成,分為以下幾種情況:

⑴ php程式碼執行過程中發生錯誤

⑵ php程式碼順利執行成功

⑶ php程式碼執行超時

⑷ 頁面被使用者強制停止

二 register_shutdown_function函數的使用步驟

register_shutdown_function函數的使用非常簡單,最多2步即可。

1. 自定義一個php類,名字為CustomHandle.php,內如如下:

<?php
namespace comantp;
class CustomHandle {
public static function systemError() {
$message = '';
if ($error = error_get_last()) {
//程式報錯處理,通常會跳轉到使用者自定義的頁面,同時記錄錯誤資訊
$separator = "rn";
$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方法。

————————————————

版權宣告:本文為CSDN博主「木魚大叔」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本宣告。

原文連結:https://blog.csdn.net/tdcqfyl/article/details/52291237

推薦教學:《PHP教學

以上就是register_shutdown_function函數在php中具體應用(含詳解)的詳細內容,更多請關注TW511.COM其它相關文章!