哪位能给下面这段php代码写个详细分析,最好具体到每一行。这个是NetBeans中的ToDoList的一部分

<?phpfinalclassFlash{constFLASHES_KEY='_flashes';privatestatic$flashes=null;privatefu... <?php
final class Flash {

const FLASHES_KEY = '_flashes';

private static $flashes = null;

private function __construct() {
}

public static function hasFlashes() {
self::initFlashes();
return count(self::$flashes) > 0;
}

public static function addFlash($message) {
if (!strlen(trim($message))) {
throw new Exception('Cannot insert empty flash message.');
}
self::initFlashes();
self::$flashes[] = $message;
}

public static function getFlashes() {
self::initFlashes();
$copy = self::$flashes;
self::$flashes = array();
return $copy;
}

private static function initFlashes() {
if (self::$flashes !== null) {
return;
}
if (!array_key_exists(self::FLASHES_KEY, $_SESSION)) {
$_SESSION[self::FLASHES_KEY] = array();
}
self::$flashes = &$_SESSION[self::FLASHES_KEY];
}

}

?>
急啊,哪位大神赶紧的啊,分再高点
展开
 我来答
百度网友a19d193
推荐于2016-07-07 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1423万
展开全部
<?php
/**
 * 闪存封装,用户可以将消息通过Flash::addFlash方法放入$_SESSION中,在取出后这些消息自动从$_SESSION中清除
 */
final class Flash { //声明Flash类,该类不可再被继承

    const FLASHES_KEY = '_flashes'; //类常量属性,声明个关键字

    private static $flashes = null; //私有静态变量,用来保存数据

private function __construct() {//禁止使用new关键字获得本类的实例,实现单件模式
    }

    /**
     * 静态方法,判定是否已闪存了数据
     * 先初始化一下,然后检查私有静态属性flashed的长度是否大于0
     * 如果大于0返回true,否则返回false
     */
    public static function hasFlashes() {
        self::initFlashes();
        return count(self::$flashes) > 0;
    }

    /**
     * 增加闪存数据
     * 如果$message的字符串长度为0则抛出异常信息:不允许插入空值
     * 初始化自身
     * 在私有静态属性flashes数组中加入$message
     */
    public static function addFlash($message) {
        if (!strlen(trim($message))) {
            throw new Exception('Cannot insert empty flash message.');
        }
        self::initFlashes();
        self::$flashes[] = $message;
    }

    /**
     * 获取私有静态变量$flashes的值,同时清空$flashes的值
     */
    public static function getFlashes() {
        self::initFlashes();
        $copy = self::$flashes;
        self::$flashes = array();
        return $copy;
    }

    /**
     * 私有方法,初始化
     * 如果私有静态变量flashes已经赋值了则跳过后面的语句
     * 如果下标self::FLASHES_KEY未在session中定义,把下标self::FLASHES_KEY添加到session中
     * 声明私有静态变量$flashes是对$_SESSION[self::FLASHES_KEY]的引用,这样所有对$flashes的更改等同于修改$_SESSION[self::FLASHES_KEY]
     */
    private static function initFlashes() {
        if (self::$flashes !== null) {
            return;
        }
        if (!array_key_exists(self::FLASHES_KEY, $_SESSION)) {
            $_SESSION[self::FLASHES_KEY] = array();
        }
        self::$flashes = &$_SESSION[self::FLASHES_KEY];
    }

}

?>
sakui_index
2013-06-08 · TA获得超过139个赞
知道小有建树答主
回答量:292
采纳率:100%
帮助的人:129万
展开全部
final class Flash {//最终类,不能被继承

const FLASHES_KEY = '_flashes'; //定义常量

private static $flashes = null;// 私有静态属性 $flashes

private function __construct() {//构造方法
}
public static function hasFlashes() {//公共的静态方法
self::initFlashes();//调用本类中的initFlashes方法
return count(self::$flashes) > 0; //计算本类中的$flashes和0做比较并将结果作为返回值
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flz64018
2013-06-07 · TA获得超过2505个赞
知道小有建树答主
回答量:5021
采纳率:0%
帮助的人:504万
展开全部
你好:你的问题有一些点
1,先检查数据库表的字段类型和长度可能是错误的,在这里说,最好设置为255字符,长字段,文本类型,等等。

2,写你的代码做一些小建议,$ _POST ['用户']添加单引号,注意码表的准的话,是有利于运行速度。

3,$ SQL =“插入bbs.message的(ID,用户,标题,内容,lastdate)值?('','$ _POST [用户]','$ _POST [标题]',' $ _POST [内容]',现在())“;

可以这样写:

$ SQL =”插入到消息(标题,内容,用户,lastdate)值?($ _POST ['用户' ','$ _POST ['标题']','$ _POST ['内容']',时间())“;
我希望你能帮助你确定这是不是基于你的PHP代码逻辑方面的错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式