Acessando propriedades privadas / protegidas de um objeto em função anônima no PHP
Estou tentando despejar elementos da propriedade privada de um objeto por meio de uma função anônima - é claro que eu poderia conseguir isso de várias outras maneiras, mas isso destaca um dilema do PHP que não consigo resolver da cabeça de $ foo = $ this e usando $ foo - mas isso não vai me dar coisas particulares, então ... sugestões?
Código de amostra
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();