频道直达 - 专题 - 新闻 - 基础 - 高级 - 安装 - 技巧 - 数据库 - 手册 - PHP - Linux - Java - MySQL - Apache - 麻辣堂 - 狼盟 - Rails社群 - 搜索 - 下载 - 开源 - 论坛
PHP开发资源网 主页>>高级应用>> 收藏此文 | 收藏本站 | 设为首页

基类 调试类 错误类

来源:www.phpres.com 作者:Angelover 出处:www.phpres.com 2007-8-7 19:04:17 进入讨论组
关 键 词: 错误 调试 // break case data errMsg @param function

<?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;
}
}
?>欢迎进入PHP开发资源论坛讨论。
收藏此文】【 】【打印】【关闭
相关文章
图文推荐
论 坛 资 源
PHP开发资源网奋斗目标
阅读排行:
热门技术文档
最新图文档
本站编辑推荐:(本站开通Delphi4PHP专区,欢迎进入论坛交流!)
编缉最近更新文章
网站赞助商
搜索您感兴趣的内容
 
   网站首页 -  网站地图 -  网站合作 -  手册中心 -  通用网址 -  网站论坛 -  网站投稿 -  友情链接 -  帮助中心
版权所有:PHP开发资源网 © 2003-2008 通用网址:PHP资源网 合作媒体: 赛迪网IT技术
互联网违法和不良信息举报中心 | 不良信息举报信箱