获取实例的静态属性

com*_*ike 17 php oop static late-binding class-variables

如果我在PHP中有一个实例,那么获取该实例的静态属性('类变量')的最简单方法是什么?

这个

$classvars=get_class_vars(get_class($thing));
$property=$classvars['property'];
Run Code Online (Sandbox Code Playgroud)

声音真的太过分了.我期待

$thing::property
Run Code Online (Sandbox Code Playgroud)

要么

$thing->property
Run Code Online (Sandbox Code Playgroud)

hal*_*dan 20

您需要先查找类名:

$class = get_class($thing);
$class::$property
Run Code Online (Sandbox Code Playgroud)

$属性必须被定义为staticpublic课程.

  • 不,"从PHP 5.3.0开始,可以使用变量引用该类". (2认同)

小智 7

从类实例中可以简单地使用 self::...

class Person {
  public static $name = 'Joe';
  public function iam() {
    echo 'My name is ' . self::$name;
  }
}

$me = new Person();
$me->iam(); // displays "My name is Joe"
Run Code Online (Sandbox Code Playgroud)