您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php的错误处理封装类详解

2024/3/2 8:26:39发布19次查看
本文主要和大家介绍了php实现的错误处理封装类,结合具体实例形式分析了php错误判断、提示及日志相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。
1、创建myerrorhandler.php文件
代码如下:
<?php class myerrorhandler { public $message; public $filename; public $line; public $vars = array(); protected $_noticelog = 'f:\root\noticelog.log'; public function __construct ($message,$filename,$line,$vars) { $this->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 = <<<eof 出现了致命的错误,如下: 产生错误的文件:{$this->filename} 产生错误的信息:{$this->message} 产生错误的行号:{$this->line} 追踪信息{$backtrace} eof; error_log($errormsg,1,'279921301@qq.com','from:php[error错误日志]'); exit(1); } /** * 警告的错误 */ public function dealwarning() { $errormsg = <<<eof 出现了警告的错误,如下: 产生警告的文件:{$this->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 = <<<eof 出现了通知的错误,如下: 产生通知的文件:{$this->filename} 产生通知的信息:{$this->message} 产生通知的行号:{$this->line} 产生通知的时间:{$datetime} eof; return error_log($errormsg,3,$this->_noticelog); } }
2、测试代码
<?php include "myerrorhandler.php"; //报告所有 php 错误 error_reporting(-1); //不显示错误信息 ini_set('display_errors',0); set_error_handler(array('myerrorhandler','deal')); echo $test; //notice错误 settype($var,'test'); //警告错误 test();
注意:发送邮件需要在本地配置mail函数,可以参考前文《php实现在windows下配置sendmail并通过mail()函数发送邮件的方法》。
相关推荐:
php通信数据封装类的实现代码分享
链接数据库封装类的实例
详解php中的通信数据封装类
以上就是php的错误处理封装类详解的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product