This article mainly introduces the error handling encapsulation class implemented by PHP, and analyzes PHP error judgment, prompts and log-related operation skills in the form of specific examples. Friends in need can refer to it. I hope it can help everyone.
1. Create the MyErrorHandler.php file
The code is as follows:
message = $message; $this->filename = $filename; $this->line = $line; $this->vars = $vars; } public static function deal ($errno,$errmsg,$filename,$line,$vars) { $self = new self($errno,$errmsg,$filename,$line,$vars); switch ($errno) { case E_USER_ERROR: return $self->dealError(); break; case E_USER_WARNING: case E_WARNING: return $self->dealWarning(); break; case E_NOTICE: case E_USER_NOTICE: return $self->dealNotice(); default: return false; } } /** * 致命的错误 */ public function dealError() { ob_start(); debug_print_backtrace(); $backtrace = ob_get_flush(); $errorMsg = <<filename} 产生错误的信息:{$this->message} 产生错误的行号:{$this->line} 追踪信息{$backtrace} EOF; error_log($errorMsg,1,'279921301@qq.com','From:php[error错误日志]'); exit(1); } /** * 警告的错误 */ public function dealWarning() { $errorMsg = << filename} 产生警告的信息:{$this->message} 产生警告的行号:{$this->line} EOF; return error_log($errorMsg,1,'279921301@qq.com','From:php[error警告日志]'); } /** * 通知的错误 */ public function dealNotice() { $datetime = date('Y-m-d H:i:s'); $errorMsg = << filename} 产生通知的信息:{$this->message} 产生通知的行号:{$this->line} 产生通知的时间:{$datetime} EOF; return error_log($errorMsg,3,$this->_noticeLog); } }
2. Test code
Copy after login
Note: To send emails, you need to configure the mail function locally. You can refer to the previous article "How to configure sendmail in Windows and send emails through the mail() function in PHP".
Related recommendations:
Implementation code sharing of PHP communication data encapsulation class
Example of link database encapsulation class
Detailed explanation of communication data encapsulation class in PHP
The above is the detailed content of Detailed explanation of php error handling encapsulation class. For more information, please follow other related articles on the PHP Chinese website!