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其它相關文章!