class test
{
function getTime()
{
echo time();
}
}
$t = new test;
file_put_contents("./test.txt",serialize($t));
/*
此时test.text的文本内容如下:
O:4:"test":0:{}
我不明白的时序列化的时候怎么不有把类的方法getTime存入文本啊?而下面反序列化文本的时候,得到的对像
又可以找到getTime()方法,于是我又试着把test类序列化成文本之后,再把test类原形删除直接执行:
$newText = unserialize(file_get_contents("./test.txt"));
$newText->getTime();
然后报错,哪位能解释一下运行原理啊?
*/
$newText = unserialize(file_get_contents("./test.txt"));
$newText->getTime();
{
function getTime()
{
echo time();
}
}
$t = new test;
file_put_contents("./test.txt",serialize( $t->getTime() ));
1,请把你的echo 改成return ,俺没听说过echo还能返回值的。
2,new出来的实例,要用对象里的东西需要$t->getTime();class test
{
function getTime()
{
return time();
}
}
$t = new test;
file_put_contents("./test.txt",serialize($t->getTime()));
PHP 是解释语言啊程序调用时,找不到原型里的,放法,当然出错了