文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>三基类调试类错误类

三基类调试类错误类

时间:2007-02-17  来源:PHP爱好者

<?php
//
// +----------------------------------------------------------------------+
// | WHXBB          基类                                                  |
// +----------------------------------------------------------------------+
// | Copyright (c) 2001 NetFish Software                                  |
// |                                                                      |
// | Author: whxbb([email protected])                                        |
// +----------------------------------------------------------------------+
//
// $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([email protected])
* @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([email protected])
* @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([email protected])
* @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;
    }
}
?>
php爱好者站 http://www.phpfans.net c/vc/c++/java.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载