PHP 类:何时使用 :: vs. ->?

2022-08-30 13:49:19

我知道有两种方法可以访问PHP类 - “::”和“->”。有时一个似乎对我有用,而另一个则不行,我不明白为什么。

每种方法有什么好处,使用两者的正确情况是什么?


答案 1

简单地说,是用于类级属性,并且用于对象级属性。::->

如果该属性属于该类,请使用::

如果该属性属于该类的实例,请使用->

class Tester
{
  public $foo;
  const BLAH;

  public static function bar(){}
}

$t = new Tester;
$t->foo;
Tester::bar();
Tester::BLAH;

答案 2

“::” 符号用于访问已使用 static 关键字声明的对象的方法/属性,“->”用于访问表示实例方法/属性的对象的方法/属性。


推荐