您好,欢迎访问一九零五行业门户网

学习动态网页技术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.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/509198.htmltecharticle已经玩php一段时间了,基本是from0开始的,经常出现的问题也很多,慢慢的可以熟练的查询文档了,而且,经验也不是很多。 先lookhere。:...
其它类似信息

推荐信息