您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> php >> 正文

php:用序列化或session对象让oo进行到底

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-2-2 我要参与讨论

 


php支持面向对象编程,这使得我们在编程时可以尽可能使用类及对象来简化我们的程序,减少代码维护的工作量.

可是由于变量到脚本执行完毕就释放,我们本页所生成的对象想在其它页面使用时便碰到了麻烦.可是,在很多情况下,有些任务在一两个页面是无法完成的.如果能够将对象及其方法传递到我们想使用对象的页面,那岂不是个很好的主意.

虽然用get 或post的hide方法传递对象变量然后在新页面建立一新的对象,再然后用构造函数来初始化新对象,好像也行的通,可是......,很麻烦,想必大家能想像得到吧.

经过长时间的尝试,现总结两种方法来传递对象.

一种,序列化(php4才具有的功能),利用这个功能我们可以将对象序列化,然后在我们需要的页面将对象变量反序列化来使用.

举例如下:

//*********class.php 定义类*********
<?
class a
{
var $a;
var $b;
var $c;
function a($x,$y)
{
$this->a=$x;
$this->b=$y;
$this->give_var_value();
}

function give_var_value()
{
for($i=0;$i<100;$i++)
{
$this->c[$i]=$i;
}
}

function show_var_value()
{
echo $this->a.$this->b."<br>";
for($i=0;$i<100;$i++)
{
echo "c[$i]=".$this->c[$i]."<br>";
}

}

}

?>

//**************a.php 建立对象并序列化**************
<?

require_once("class.php");

$a=new a("hello,","world!");

$s = serialize($a); //序列化对象a

$fp = fopen("store", "w");//以"w"方式打开一文件并获得文件句柄,请在此注意目录属性.

fputs($fp, $s);//写入文件

fclose($fp);//关闭文件句柄

?>

//**************b.ph

[1] [2] [3] [4] 下一页

在google里搜索更多php:用序列化或session对象让oo进行到底

Google
Web www.51ec.org
  • 上一篇信息学院:

  • 下一篇信息学院:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    我来说两句 对此文章发表了评论
      昵 称: *必填    ·注册用户·
      评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
    评 论
    内 容

     
    评论列表 (最新 评论仅限网友观点!)

    供求信息




    | 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明