我曾经使用像这样的闭包从一个类中的一个类中获取所有公共变量:
Class myClass
{
public $foo;
private $bar;
private function GetFields()
{
$lambda = function( $obj ) { return get_object_vars( $obj ); };
return $lambda( $this );
}
public function SomeFunction()
{
$fields = $this->GetFields();
}
}
这很完美,并且在课堂上给了我所有的公共变量。
现在,我将我的服务器升级到 PHP 5.4,并获得了所有私有和受保护的变量。这是一个新的“功能”还是一个错误?