ホームページ  >  記事  >  バックエンド開発  >  動的 Web テクノロジーにおけるエラー処理のいくつかの方法を学ぶ PHP_PHP チュートリアル

動的 Web テクノロジーにおけるエラー処理のいくつかの方法を学ぶ PHP_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:30:02981ブラウズ

已经玩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("所有的方法
");<br>        print_r(get_class_methods($classname));<br>        print_r("
");
        print_r("
所有的属性
");<br>        print_r(get_class_vars($classname));<br>        print_r("

");
    }
}
ClassDetail($classname);


例外クラスのすべての get メソッドが次のとおりであることがわかりました:

[0] =>construct
[1] => getCode
[3] => getLine
[5] => [6] => getTraceAsString
[7] => __toString


個々のポイントをゆっくり最適化しても問題ありません。


わかりました、さらに対処する方法を見てみましょう:

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;
_context = $context;
}
function __destruct(){
// 親: :__destruct();
function Message(){
$errors = array(
E_ERROR => エラー、
E_WARNING => 警告、
E_NOTICE => ; 通知、
E_CORE_ERROR '''''''' E_COMPILE_ERROR => ; コンパイル エラー、
E_COMPILE_WARNING => コンパイル警告、
 



http://www.bkjia.com/PHPjc/509198.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/509198.html

私は基本的に 0 から始めて、しばらく PHP をいじってきましたが、徐々にドキュメントのクエリを上手に実行できるようになり、多くの経験がありません。 まずはここを見てください。 :...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。