php基類 調試類 錯誤類

來源:互聯網
上載者:User
錯誤 <?php 
// 
// +----------------------------------------------------------------------+ 
// | WHXBB          基類                                                  | 
// +----------------------------------------------------------------------+ 
// | Copyright (c) 2001 NetFish Software                                  | 
// |                                                                      | 
// | Author: whxbb(whxbb@21cn.com)                                        | 
// +----------------------------------------------------------------------+ 
// 
// $Id: whxbb.class.php,v 0.1 2001/8/4 12:53:33 yf Exp $ 
// 
// 禁止直接存取該頁面 
if (basename($HTTP_SERVER_VARS['PHP_SELF']) == "whxbb.class.php" { 
    header("HTTP/1.0 404 Not Found"; 


// 調試標誌,為1時,系統運行在調試狀態 
define('WHXBB_DEBUG_FLAG', 0); 

// 出錯代碼的預定義 
// 忽略錯誤 
define('WHXBB_ERROR_IGNORE', 1); 
// 在頁面顯示錯誤 
define('WHXBB_ERROR_ECHO'  , 2); 
// 彈出錯誤警告並顯示錯誤 
define('WHXBB_ERROR_ALERT' , 4); 
// 停止程式的運行 
define('WHXBB_ERROR_DIE'   , 8); 
// 返回上頁 
define('WHXBB_ERROR_RETURN', 16); 
// 跳到指定頁 
define('WHXBB_ERROR_GOTO', 32); 

/** 
* Purpose 
*  基類, 在該類中封裝了一些常用的方法 

* @author  : whxbb(whxbb@21cn.com) 
* @version : 0.1 
* @date    :  2001/12/4 
*/ 
class WHXBB 

    /** 
     * 調試標誌 
     * @access protected 
     */ 
    var $_debug; 
    /** 
     * 資料庫連接標誌 
     * @access protect 
     */ 
    var $_conn; 

    function WHXBB() 
    { 
  // 資料庫連接標誌 
        global $_conn; 
        if (!is_resource($conn)) 
            die("資料庫連接錯誤"; 
        $this->_conn = $conn; 
        $this->_debug = WHXBB_DEBUG_FLAG; 
    } 

    /** 
     * 處理字串 
     * @param $str 要處理的字串 
     * @param $act in 將'替換成\’out 把\’替換成' 
  * @access public 
     */ 
    function OperateString(&$str, $act) 
    { 
        if($act == 'in') 
            $str = str_replace("'", "\\’", $str); 
        if($act == 'out') 
            $str = str_replace("\\’", "'", $str); 
    } 
    /** 
     * 判斷一個變數是否為錯誤對象 
     * 
     * @param   $data   要判斷的變數 
     * @access  public 
     * @return  bool    是 true 不是 false 
     */ 
    function isError($data) { 
        return (bool)(is_object($data) && 
                      (get_class($data) == "whxbb_error" || 
                       is_subclass_of($data, "whxbb_error")); 
    } 
    /** 
     * 判斷一個變數是否為分頁對象 
     * 
     * @param   $data   the value to test 
     * @access  public 
     * @return  bool    true if $data is an Pager 
     */ 
    function isPager($data) { 
        return (bool)(is_object($data) && 
                      (get_class($data) == "pager" || 
                       is_subclass_of($data, "pager")); 
    } 


/** 
* 調試類 

* Purpose 

* 程式調試用 

* @author  : wxhbb(whxbb@21cn.com) 
* @version : 0.1 
* @date    :  2001/8/4 
*/ 
class WHXBB_Debug Extends WHXBB 

    function WHXBB_Debug($msg) 
    { 
        $this->WHXBB(); 
        if($this->_debug == 1) 
        { 
            echo "\n<br>WHXBB Debug >>> $msg<br>\n"; 
        }     
    } 

/** 
* Purpose 
* 錯誤處理(觸發錯誤,顯示錯誤) 

* @author  : whxbb(whxbb@21cn.com) 
* @version : 0.1 
* @date    :  2001/8/4 
*/ 
class WHXBB_Error extends WHXBB 

    /** 
     * 錯誤資訊 
     * @access protected 
     */ 
    var $_errNo; 
    /** 
     * 錯誤碼 
     * @access protected 
     */ 
    var $_errMsg; 
    /** 報錯方式 參見"出錯代碼的預定義" */ 
    var $_reportMethod; 

    /** 
     * 構造一個錯誤對象 
     * @param $errMsg   錯誤資訊, 錯誤的字元描述 
     * @param $errNo    錯誤碼, 錯誤的代碼 
     * @param $reportMethod 報錯方式,參見"出錯代碼的預定義" 
     * @param $param1 參數一,如跳轉到指定頁面時頁面的url 
     * @param $param2 參數二 保留 
     * @access public 
     */ 
    function WHXBB_Error($errMsg, $errNo, $reportMethod = WHXBB_ERROR_IGNORE, $param1 = ', $param2 = ') 
    { 
        $this->WHXBB(); 
        $this->_errMsg = $errMsg; 
        $this->_errNo = $errNo; 
        $this->_reportMethod = $reportMethod; 
        switch($reportMethod) 
        { 
            case WHXBB_ERROR_IGNORE: 
                break; 
            case WHXBB_ERROR_ECHO: 
                echo $errMsg; 
                break; 
            case WHXBB_ERROR_ALERT: 
                JS::Alert($errMsg); 
                break; 
            case WHXBB_ERROR_DIE: 
                $this->Close(); 
                exit; 
                break; 
            case WHXBB_ERROR_DIE + WHXBB_ERROR_ALERT: 
                JS::Alert($errMsg); 
                $this->Close(); 
                exit; 
                break; 
            case WHXBB_ERROR_DIE + WHXBB_ERROR_ECHO: 
                echo $errMsg; 
                $this->Close(); 
                exit; 
                break; 
            case WHXBB_ERROR_ALERT + WHXBB_ERROR_RETURN: 
                JS::ALert($errMsg); 
                JS::Back(); 
                break; 
            case WHXBB_ERROR_RETURN: 
                JS::Back(); 
                break; 
            case WHXBB_ERROR_GOTO: 
                JS::Goto($param1); 
                break; 
            case WHXBB_ERROR_GOTO + WHXBB_ERROR_ALERT: 
                JS::ALert($errMsg); 
                JS::Goto($param1); 
                break; 
        } 
        new WHXBB_Debug($errNo.":".$errMsg); 
    } 
    /** 
     * 得到錯誤對象的錯誤資訊 
     */ 
    function GetMsg() 
    { 
        return $this->_errMsg; 
    } 
    /** 
     * 得到錯誤對象的錯誤代買 
     */ 
    function GetNo() 
    { 
        return $this->_errNo; 
    } 

?>



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.