私はオブジェクトのプライベートプロパティの要素を匿名関数でダンプしようとしています。もちろんこれは他の方法でも可能ですが、 PHPの謎私は私の頭の上を解くことはできません、$ foo = $ thisと$ fooを使っていませんが、それは私に私的なものを与えません。PHPの匿名関数でオブジェクトのプライベート/プロテクトプロパティにアクセスする
サンプルコード:
class MyClass
{
private $payload = Array('a' => 'A element', 'b' => 'B element');
static $csvOrder = Array('b','a');
public function toCSV(){
$values = array_map(
function($name) use ($this) { return $this->payload[$name]; },
self::$csvOrder
);
return implode(',',$values);
}
}
$mc = new MyClass();
print $mc->toCSV();
[「閉鎖内からのプライベート変数へのアクセス」](http://stackoverflow.com/q/3722394/90527)しかし、NikiCの答えは非公開のメソッドだけでなく非公開のプロパティにもアクセスできますが、閉鎖には投票しない。 – outis