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 lograrlo de muchas otras maneras, pero esto resalta una No puedo resolver el enigma de PHP, excepto $ foo = $ this y usando $ foo, pero ESO no me dará las cosas privadas, entonces ... ¿sugerencias?Accediendo a propiedades privadas/protegidas de un objeto en función anónima en PHP
Código de ejemplo:
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();
Duplicado de ["Acceso a variables privadas desde dentro de un cierre"] (http://stackoverflow.com/q/3722394/90527), pero la respuesta de NikiC funciona para acceder a métodos no públicos, así como a propiedades no públicas, entonces no votar por el cierre. – outis