跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

学习动态网页技术PHP中错误处理的一些方法_PHP教程

已经玩 php 一段时间了,基本是from 0开始的,经常出现的问题也很多,慢慢的可以熟练的查询文档了,而且,经验也不是很多。 先look here。: error_reporting(1048);//1,2,4,7,...,1048 ob_start(); session_start(); date_default_timezone_set(Asia/Shanghai); php的递给调用会吃掉很多的内存。 一般的,不要太多的使用define。 在类的构造和属性器方面,5已经做了很多的工作,克服的bug就不说了,__系列的函数都有一些看点,也是支持 static 的。 按照我现在的写过的程序,很少用到框架页面的,我感觉在php里面速度不在是一个问题。 注意类的调用次序,特别是已经extends的,准确的释放掉内存。 @mysql_fetch_array($result,MYSQL_ASSOC); 这个注意使用乱用,MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH是一个enum吧。默认的是 MYSQL_BOTH . mysql的语句,如果执行in 的话不再支持limit。so...很麻烦。 支持distinct,group之,程序循环执行,md。 if(get_magic_quotes_gpc()){ $_GET=        stripslashes_gpc($_GET); $_POST=    stripslashes_gpc($_POST); $_COOKIE=    stripslashes_gpc($_COOKIE); } set_magic_quotes_runtime(0);#magic_quotes_runtime function stripslashes_gpc($array) { while (list($key,$value) = each($array)) { if (is_string($value)) { $array[$key] = addslashes(stripslashes($value)); } else if (is_array($value))  { $array[$key] = stripslashes_gpc($value); } } return $array; } /** * 处理程序中出现的错误 * @Date:2006-10-9-10:51 * @param    (类型)     (参数名)    (描述) */ function Error_Handler($errno,$errstr,$errorfile,$errline,$errtext){ echo(系统发生错误:.$errstr); echo(At.$errorfile.的第.$errline.行.); if($errno==E_USER_ERROR){ echo(致命错误,程序已经中止); } } 在使用的时候: set_error_handler(Error_Handler); trigger_error(call trigger_error,E_USER_ERROR); 这是使用函数获取的,当然您的错误报告级别应该高点: error_reporting(1048); 为了更加oo,先看看一个描述类的自写的函数: $classname=Exception; /** * (功能描述) * @Date: * @param    (类型)     (参数名)    (描述) */ function ClassDetail($classname){ if(!class_exists($classname)){ echo($classname.类不存在); }else{ print_r("以下描述类".$classname); print_r("所有的方法
");
print_r(get_class_methods($classname));
print_r("
"); print_r(" 所有的属性
");
print_r(get_class_vars($classname));
print_r("
"); } } ClassDetail($classname); 发现exception类的所有get方法是: [0] => __construct [1] => getMessage [2] => getCode [3] => getFile [4] => getLine [5] => getTrace [6] => getTraceAsString [7] => __toString 慢慢的优化个性点,也可以的。 ok,来看比较oo的处理方式: class ErrorHandlers extends Exception{ private $_context = null; function  __construct($level,  $string,  $file,  $line,  $context=null){ parent::__construct($string,$level); $this->file  =  $file; $this->line  =  $line; $this->_level  =  $level; $this->_context  =  $context; } function __destruct(){ //        parent::__destruct(); } function Message(){ $errors = array( E_ERROR          => error, E_WARNING        => warning, E_PARSE          => parsing error, E_NOTICE          => notice, E_CORE_ERROR      => core error, E_CORE_WARNING    => core warning, E_COMPILE_ERROR  => compile error, E_COMPILE_WARNING => compile warning,   http://www.bkjia.com/PHPjc/509198.html www.bkjia.com true http://www.bkjia.com/PHPjc/509198.html TechArticle 已经玩php一段时间了,基本是from0开始的,经常出现的问题也很多,慢慢的可以熟练的查询文档了,而且,经验也不是很多。 先lookhere。:...

相关文章