Acceso a propiedades privadas / protegidas de un objeto en función anónima en PHP
Estoy tratando de volcar elementos de la propiedad privada de un objeto a través de una función anónima; por supuesto, podría lograr esto de muchas otras maneras, pero esto resalta un enigma de PHP que no puedo resolver en la parte superior de mi cabeza, corto de $ foo = $ this y usando $ foo, pero ESO no me dará las cosas privadas, así que ... ¿sugerencias?
Código de muestra
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();