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();
解决方案 »
- 两个同父类的子类之间的调用问题
- phpMyAdmin打开登录后,右侧下边显示‘无法加载 mcrypt 扩展,请检查您的 PHP 配置’是怎么回事。
- xajax写2级联动遇到问题了
- 好多函数都不能使用
- 关于smarty参数的问题
- php中数据传递
- 小弟急死了,快来看看阿,大哥!。。。。。。。。。。。
- 郁闷:频繁读取数据库会使其挂掉?我的网站又挂了
- echo $_SERVER["REQUEST_URI"]在我机上为什么都不显示?
- ASP JSP 有什么区别
- php 纯讨论:关于可变函数名机制 有什么好处
- php 自写的函数 fuction get_comp_files($compArray) {……} 编译时报错
{
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 是解释语言啊程序调用时,找不到原型里的,放法,当然出错了