它只是给你提供一个访问类的静态变量的接口。$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);