register_shutdown_function函數(shù)是什么

這篇文章主要介紹了register_shutdown_function 函數(shù)是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡程序員、網(wǎng)頁設計師等,應用各種網(wǎng)絡程序開發(fā)技術和網(wǎng)頁設計技術配合操作的協(xié)同工作。成都創(chuàng)新互聯(lián)專業(yè)提供做網(wǎng)站、成都做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站制作(企業(yè)站、響應式網(wǎng)站開發(fā)、電商門戶網(wǎng)站)等服務,從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗的提升,我們力求做到極致!

register_shutdown_function 函數(shù)是什么

php開發(fā)測試及線上的時候可以根據(jù)不同情況設定錯誤和異常處理需要用到有

設定錯誤和異常處理三函數(shù)

register_shutdown_function(array(‘Debug’,'fatalError’)); //定義PHP程序執(zhí)行完成后執(zhí)行的函數(shù)
set_error_handler(array(‘Debug’,'appError’)); // 設置一個用戶定義的錯誤處理函數(shù)
set_exception_handler(array(‘Debug’,'appException’)); //自定義異常處理。

下面講一下register_shutdown_function() 函數(shù).

功能:register_shutdown_function() 函數(shù)可實現(xiàn)當程序執(zhí)行完成后執(zhí)行的函數(shù),其功能為可實現(xiàn)程序執(zhí)行完成的后續(xù)操作。程序在運行的時候可能存在執(zhí)行超時,或強制關閉等情況,但這種情況下默認的提示是非常不友好的,如果使用register_shutdown_function()函數(shù)捕獲異常,就能提供更加友好的錯誤展示方式,同時可以實現(xiàn)一些功能的后續(xù)操作,如執(zhí)行完成后的臨時數(shù)據(jù)清理,包括臨時文件等。

可以這樣理解調(diào)用條件:

1、當頁面被用戶強制停止時

2、當程序代碼運行超時時

3、當PHP代碼執(zhí)行完成時,代碼執(zhí)行存在異常和錯誤、警告

實例說明

1. 一個簡介的例子 , 調(diào)用一個函數(shù)

<?php
    function test() {
        echo "test()";
    }
    register_shutdown_function(array("test"));
    echo "show: ";
 ?>

這個例子輸出

show: test()

這個函數(shù)的作用就是在退出腳本前,調(diào)用已經(jīng)注冊的函數(shù),并執(zhí)行該函數(shù)。

2. 在類中用一個數(shù)組作為一個參數(shù)

<?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. 帶有參數(shù)的例子:

<?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()函數(shù)可重復調(diào)用,但執(zhí)行的順序與注冊的順序相同
2,如果在調(diào)用register_shutdown_function()函數(shù)之前有exit()函數(shù)調(diào)用,register_shutdown_function()函數(shù)將不能執(zhí)行
3,PHP4后支持注冊函數(shù)參數(shù)傳遞(PHP視頻教程)
4,在某些服務端,如Apache,當前目錄在register_shutdown_function()函數(shù)中能夠改變
5,register_shutdown_function()函數(shù)執(zhí)行在headers發(fā)送之后

感謝你能夠認真閱讀完這篇文章,希望小編分享register_shutdown_function 函數(shù)是什么內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細的解決方法等著你來學習!

當前標題:register_shutdown_function函數(shù)是什么
標題URL:http://muchs.cn/article12/ghsodc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供Google、靜態(tài)網(wǎng)站、域名注冊、ChatGPT關鍵詞優(yōu)化、電子商務

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)