麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

php egister_shutdown_function 函數詳解

2024-09-04 11:49:31
字體:
來源:轉載
供稿:網友

設定錯誤和異常處理三函數:

register_shutdown_function(array(‘Debug’,'fatalError’)); //定義PHP程序執行完成后執行的函數

set_error_handler(array(‘Debug’,'appError’)); // 設置一個用戶定義的錯誤處理函數

set_exception_handler(array(‘Debug’,'appException’)); //自定義異常處理。

下面講一下register_shutdown_function() 函數.

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

可以這樣理解調用條件:

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

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

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

實例說明:

1. 一個簡介的例子 , 調用一個函數

  1. <?php 
  2.  
  3. function test() { 
  4.  
  5.     echo "test()"
  6.  
  7.  
  8. register_shutdown_function(array("test")); 
  9.  
  10. echo "show: "
  11.  
  12. ?> 

這個例子輸出

show: test()

這個函數的作用就是在退出腳本前,調用已經注冊的函數,并執行該函數。

2. 在類中用一個數組作為一個參數

  1. <?php 
  2.  
  3.     class ClassDemo { 
  4.  
  5.         public function __construct() { 
  6.  
  7.             register_shutdown_function(array($this"f")); 
  8.  
  9.         } 
  10.  
  11.         public function f() { 
  12.  
  13.             echo "f()"
  14.  
  15.         } 
  16.  
  17.     } 
  18.  
  19.     $demo = new ClassDemo(); 
  20.  
  21.     echo "before </br>"
  22.  
  23. ?> 

輸出:

before

f()

3. 帶有參數的例子:

  1. <?php 
  2.  
  3. function f($str) { 
  4.  
  5.         echo $str."<br>"
  6.  
  7.  
  8. register_shutdown_function("f","hello"); 
  9.  
  10.     class ClassDemo { 
  11.  
  12.         public function __construct() { 
  13.  
  14.             register_shutdown_function(array($this"f"),"hello"); 
  15.  
  16.         } 
  17.  
  18.         public function f($str) { 
  19.  
  20.             echo "f():".$str
  21.  
  22.         } 
  23.  
  24.     } 
  25.  
  26.    $demo = new ClassDemo(); 
  27.  
  28.    echo "before </br>";   
  29.  
  30. ?> 

注意事項:

1,register_shutdown_function()函數可重復調用,但執行的順序與注冊的順序相同

2,如果在調用register_shutdown_function()函數之前有exit()函數調用,register_shutdown_function()函數將不能執行

3,PHP4后支持注冊函數參數傳遞

4,在某些服務端,如Apache,當前目錄在register_shutdown_function()函數中能夠改變

5,register_shutdown_function()函數執行在headers發送之后

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 看一级大毛片 | 久草在线视频网 | 精品国产一区二区三区天美传媒 | 亚洲国产精品久久久久久久久久久 | 国产一级aaa全黄毛片 | 久章草在线视频 | 欧美一级视屏 | 免费一级特黄毛片视频 | 最新av免费网址 | 欧美一级黄色免费 | 日美av在线 | 精品一区二区久久久久久久网精 | 91毛片网站| www.成人精品 | 久夜草 | 久久国产乱子伦精品 | 777zyz色资源站在线观看 | 免费观看一级 | 一级做a爱片久久毛片a高清 | 永久久久| 天天色综合6 | 毛片在线播放视频 | 国产 日韩 一区 | 91成人一区 | 日本a级一区 | 国产一级爱c视频 | a网站在线 | 在线中文字幕不卡 | 久久久成人动漫 | av观看网站 | 亚洲热线99精品视频 | 成人在线a | 亚洲天堂字幕 | 成人福利在线免费观看 | 国产性tv国产精品 | 亚洲精品欧美二区三区中文字幕 | 国内成人自拍视频 | 国产亚洲欧美一区久久久在 | 久久艹综合| 男女无遮挡羞羞视频 | 成人在线视频一区 |