它只是给你提供一个访问类的静态变量的接口。$nodes->length实际上就触发了类内部的接口函数才访问到的值
仿照实现:
class A
{
private static $length = 2;
//interface
private function __get($v)
{
if(isset(self::$$v))
{
return self::$$v;
}
}
}
$a = new A();
//will run A::__get($v)
echo $a->length;
print_r($a);
仿照实现:
class A
{
private static $length = 2;
//interface
private function __get($v)
{
if(isset(self::$$v))
{
return self::$$v;
}
}
}
$a = new A();
//will run A::__get($v)
echo $a->length;
print_r($a);
//will run A::__get($v) 这句注释不准确,去掉。:-)