约当产量法一次投入:oscommerce,zen

来源:百度文库 编辑:中财网 时间:2024/04/28 11:11:11
oscommerce,zen-cart之message_stack代码分析 2009-09-21 15:34

在oscommerce系列系统中,有一个message_stack的类,该类用于向信息堆中存放信息以及在合时的时间合适的地方显示出来的一个类。这在错误信息,警告信息以及提示信息的规范性输出是非常有用的。下面是对该类的详细分析:

该类主要有两种向信息堆存放信息的方法:

1.将信息直接存储于类的本地变量中。这种实现主要用于同一程序中后续直接输出时使用。

2.将信息写入session变量中,以便下一个页面可以使用。

而message_stack类在初始化时,先读取session中的信息,并将它们写入自己的本地变量中,然后将存储这些信息的session注销掉。

这个类的主要方法有:

1.add($class,$message,$type):

该方法第一个参数决定在那些地方可以使用,比如login,shopping_cart等等。

第二个参数是决定信息输出内容的

第三个参数决定信息的级别,是属于error,warning,或者是notice等等。

2.add_session($class,$message,$type):

这个方法大致和上面的方法一样,唯一有区别的是,这个方法把信息存放在session中,而前者直接存到本地变量中。

3.size($class):

用于数出$class指定的信息条数。

4.output($class):

输出由$class指定的信息的内容。

5. reset()

将本地变量 messages置空。

1.该类对于同一脚本内的错误信息的输出使用$messageStack->add('dome','sample error','error');

然后使用

if($messageStack->size('dome')>0){

    echo $messageStack->output('dome');

}

2.如果对于不同的脚本,需要通过session传递错误信息到下一个页面,我们使用如下代码:

$messageStack->add_session('dome','sample error','error');

然后使用

if($messageStack->size('dome')>0){

    echo $messageStack->output('dome');

}