+ -
当前位置:首页 → 问答吧 → 为什么我的第三行会报错?

为什么我的第三行会报错?

时间:2009-12-28

来源:互联网

<?php
class MyPc{
  $name;
  function my(){
     return $this->name;
  }
}
$p =new MyPc();
echo $p->my();
?>
Parse error: parse error, expecting `T_FUNCTION' in D:\website\test.php on line 3

作者: ycg520520   发布时间: 2009-12-28

变量错误

作者: jinqibu   发布时间: 2009-12-28

这好像是一个基本的面向对象编程,php教程里的吧

作者: jinqibu   发布时间: 2009-12-28

在你的变量前加个修饰符 var 或者PUBLIC等等。

作者: jixiaohai   发布时间: 2009-12-28

前面必须加 var 修饰

作者: yuejide   发布时间: 2009-12-28

成员属性前加修饰符,php4时是var,为了向下兼容,就使用了public代替

作者: ba5eat   发布时间: 2009-12-28

$name前加上public试试

作者: xujing3344   发布时间: 2009-12-28

如果你不声明 $name,你就不能用$this->name,这是在成员方法里直接调用成员属性的!

作者: zx68555   发布时间: 2009-12-28

即使不在类里面声明$name,也能调用$this->name!!!!
只不过返回的是空值而已

复制代码
  1.  <?php
  2. class test
  3. {
  4.  function my()
  5.  {
  6.   $this->name=1111;
  7.   return $this->name;
  8.  }
  9. }
  10. $test=new test();
  11. echo $test->my();

作者: zztnamed   发布时间: 2009-12-28

即使不在类里面声明$name,也能调用$this->name!!!!
只不过返回的是空值而已

复制代码
  1.  <?php
  2. class test
  3. {
  4.  function my()
  5.  {
  6.   $this->name=1111;
  7.   return $this->name;
  8.  }
  9. }
  10. $test=new test();
  11. echo $test->my();

作者: zztnamed   发布时间: 2009-12-28

晕 怎么多发了一条。。

作者: zztnamed   发布时间: 2009-12-28