CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

为什么出错?

楼主tmyu()2004-10-03 19:34:55 在 Web 开发 / PHP 提问

这是phpe.net上的例子可我运行时出错  
  <?php  
  class   ObjectTracker   //对象跟踪器    
  {    
  private   static   $nextSerial   =   0;    
  private   $id;    
  private   $name;    
   
  function   __construct($name)   //构造函数    
  {    
  $this->name   =   $name;    
  $this->id   =   ++self::$nextSerial;    
  }    
   
  function   __clone()   //克隆    
  {    
  $this->name   =   "Clone   of   $that->name";    
  $this->id   =   ++self::$nextSerial;    
  }    
   
  function   getId()   //获取id属性的值    
  {    
  return($this->id);    
  }    
   
  function   getName()   //获取name属性的值    
  {    
  return($this->name);    
  }    
  }    
   
  $ot   =   new   ObjectTracker("Zeev's   Object");    
  $ot2   =   $ot->__clone();   //这是32句  
   
  //输出:   1   Zeev's   Object    
  print($ot->getId()   .   "   "   .   $ot->getName()   .   "<br>");    
   
  //输出:   2   Clone   of   Zeev's   Object    
  print($ot2->getId()   .   "   "   .   $ot2->getName()   .   "<br>");  
  ?>  
   
  Fatal   error:   Cannot   call   __clone()   method   on   objects   -   use   'clone   $obj'   instead   in   E:\myweb\tm-shop\class\1.php   on   line   32  
  问题点数:20、回复次数:4Top

1 楼yuelengxin(键步随风)回复于 2004-10-03 21:38:45 得分 0

类,不懂啊!  
  我测试了,在第4行就出错了,晕....  
  Parse   error:   parse   error,   unexpected   T_STRING,   expecting   T_OLD_FUNCTION   or   T_FUNCTION   or   T_VAR   or   '}'   in   E:\htdocs\example\源码练习\源码测试\untitled.php   on   line   4  
   
  关注ing!Top

2 楼lisoon(http://www.lisoon.com/FlashRss/)回复于 2004-10-03 22:10:04 得分 0

5.0下测试没有问题。  
  请检查配置。Top

3 楼xuzuning(唠叨)回复于 2004-10-04 10:50:48 得分 20

$ot2   =   $ot->__clone();   //这是32句  
  ===>  
  $ot2   =   clone   $ot;  
   
  这是php5正式版的一个变化,你的代码是运行于老的开发版的  
  另外第16行$this->name   =   "Clone   of   $that->name";   中的$that应改为$this  
  Top

4 楼tmyu()回复于 2004-10-04 13:47:04 得分 0

唠叨哥,我试过$ot2   =   clone   $ot;他只显示Clone   of    
   
  看来是网上介绍的老了,他上面是用that  
   
  谢谢唠叨哥,行了Top

相关问题

  • 为什么出错?
  • 为什么出错?
  • 为什么出错?????··············································
  • 为什么出错?
  • 为什么出错?
  • 为什么出错?
  • 为什么出错???
  • 为什么出错?
  • 为什么会出错。
  • 为什么会出错

关键词

  • php
  • ot
  • clone
  • 出错
  • zeev
  • getid
  • getname
  • s objects
  • error
  • function

得分解答快速导航

  • 帖主:tmyu
  • xuzuning

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo