|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
小试一下身手,大概是没问题了,那么交给你个任务,做个留言本吧,这和HELLO WORLD有一比啊!^_^,同是新手面临的第一道关。毛病 <?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的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单。 |
|