仓酷云

标题: PHP网页编程之三 基类 调试类 毛病类 [打印本页]

作者: 愤怒的大鸟    时间: 2015-2-4 00:23
标题: PHP网页编程之三 基类 调试类 毛病类
不可能吃饭的时候咬了自己一下舌头就从此不吃饭了不是?放下畏惧,继续努力,咱们是来征服它的,而不是被它征服的,振奋起来吧同志。毛病   <?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;
    }
}
?>  在一个团队之中或者说是在一个公司的工作岗位上,需要注重团队之间的交流合作;在学习或工作上都要端正自己的态度,要以认真的态度来对每件事,这样才能让自己更快的投入、更快的学习,而不至于浪费自己的时间。
作者: 仓酷云    时间: 2015-2-4 12:55
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: admin    时间: 2015-2-7 00:41
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 第二个灵魂    时间: 2015-2-11 20:23
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 莫相离    时间: 2015-2-14 20:34
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 海妖    时间: 2015-2-17 02:18
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 小妖女    时间: 2015-3-6 20:24
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 冷月葬花魂    时间: 2015-3-12 14:38
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 若天明    时间: 2015-3-17 16:10
爱上php,他也会爱上你。
作者: 乐观    时间: 2015-3-25 05:19
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 爱飞    时间: 2015-4-3 04:37
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 深爱那片海    时间: 2015-4-6 05:56
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者: 兰色精灵    时间: 2015-4-12 08:34
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者: 活着的死人    时间: 2015-4-13 15:17
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 柔情似水    时间: 2015-4-17 08:15
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
作者: 金色的骷髅    时间: 2015-4-30 09:15
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 变相怪杰    时间: 2015-6-26 00:32
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者: 因胸联盟    时间: 2015-7-21 12:26
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 若相依    时间: 2015-7-23 22:43
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2