我希望能够捕捉die()和exit()留言.这可能吗?我希望类似的东西set_error_handler和set_exception_handler.我已经看过了,register_shutdown_function()但它似乎没有包含违规die()和exit()调用的上下文.
我认识到,die()和exit()不好的方式来处理错误.我不希望被告知不要这样做.:)我正在创建一个通用系统,并希望能够优雅地记录exit(),die()如果由于某种原因某人(不是我)决定这是一个好主意.
小智 11
是的,你可以,但你需要ob_start,ob_get_contents,ob_end_clean和register_shutdown_function
function onDie(){
$message = ob_get_contents(); // Capture 'Doh'
ob_end_clean(); // Cleans output buffer
callWhateverYouWant();
}
register_shutdown_function('onDie');
//...
ob_start(); // You need this to turn on output buffering before using die/exit
@$dumbVar = 1000/0 or die('Doh'); // "@" prevent warning/error from php
//...
ob_end_clean(); // Remember clean your buffer before you need to use echo/print
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13510 次 |
| 最近记录: |