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
| 对此文章发表了评论 |
