私は、クラス内のクラスからすべての public vars を次のような Closure で取得していました。
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 にアップグレードし、すべてのプライベート変数と保護された変数を取得しました。それは新しい「機能」ですか、それともバグですか?