Доступ к частным / защищенным свойствам объект в анонимной функции в PHP

Я пытаюсь сбрасывать элементы частной собственности объекта через анонимную функцию - конечно, я мог бы добиться этого любыми другими способами, но это подчеркивает загадку PHP, которую я не могу решить в голове, за исключением $ foo = $ this и использования $ foo - но ЭТО не даст мне личных вещей, итак ... предложения?

Пример кода:

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();
5
задан NikiC 17 June 2011 в 14:29
поделиться