0

从成员函数访问类成员时,我有义务使用$this吗?或者我可以只提成员名?

4

4 回答 4

4

使用$this区分对象成员和只是局部变量的变量。例如

object x {
   public $z = 'hello';
   function y() {
      $z = 'there';
      echo $z; // there
      echo $this->z; // hello
   }
   function z() {
       echo $z; // undefined variable/warning/error.
   }
}
于 2012-07-14T15:30:45.010 回答
2

你必须$this。这是强制性的。

于 2012-07-14T15:29:59.703 回答
2

是的,您必须使用$this来引用类成员。您还可以使用self::来引用静态类成员。如果没有$this,您只能引用局部变量,即在当前函数中声明的变量,或使用声明的全局变量global

有关 PHP 类的更多信息,请参阅PHP:类和对象

于 2012-07-14T15:29:59.737 回答
2

在 PHP 类中,可以有静态成员变量或实例成员变量。

如果是实例成员变量,需要$this->inst_variableself::$my_static

如果您不使用 $this 或 self,它将被视为局部变量。

于 2012-07-14T15:34:53.867 回答