仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1137|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网页编程之php基类 调试类 毛病类

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
#
发表于 2015-2-4 00:10:19 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单。
海妖 该用户已被删除
18#
发表于 2015-7-1 13:05:22 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
若天明 该用户已被删除
17#
发表于 2015-6-11 10:34:51 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
爱飞 该用户已被删除
16#
发表于 2015-6-10 18:30:03 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
admin 该用户已被删除
15#
发表于 2015-6-6 06:02:49 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
第二个灵魂 该用户已被删除
14#
发表于 2015-6-4 02:33:46 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
精灵巫婆 该用户已被删除
13#
发表于 2015-5-6 10:10:51 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
莫相离 该用户已被删除
12#
发表于 2015-4-16 23:10:32 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
飘飘悠悠 该用户已被删除
11#
发表于 2015-4-16 19:10:29 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
柔情似水 该用户已被删除
10#
发表于 2015-4-16 13:10:27 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
老尸 该用户已被删除
9#
发表于 2015-4-4 22:10:11 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
小魔女 该用户已被删除
8#
发表于 2015-4-1 00:25:45 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
深爱那片海 该用户已被删除
7#
发表于 2015-3-28 01:49:52 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
因胸联盟 该用户已被删除
6#
发表于 2015-3-22 18:09:30 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
只想知道 该用户已被删除
5#
发表于 2015-3-19 15:49:53 | 只看该作者
实践是检验自己会不会的真理。
再见西城 该用户已被删除
地板
发表于 2015-3-10 12:11:02 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
小妖女 该用户已被删除
板凳
发表于 2015-2-27 22:22:52 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
再现理想 该用户已被删除
沙发
发表于 2015-2-9 21:38:10 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
灵魂腐蚀 该用户已被删除
楼主
发表于 2015-2-4 09:45:21 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-11 04:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表