ugriff auf private Variablen aus einem Closure hera

Ich versuche, innerhalb eines Closures auf eine private Variable eines Objekts zu verweisen. Der folgende Code scheint zu funktionieren, beschwert sich aber überFatal error: Cannot access self:: when no class scope is active in test.php on line 12 undFatal error: Using $this when not in object context in test.php on line 20.

Jede Idee, wie dieselben Ergebnisse mit einem Closure erzielt werden können, während die Variablen privat bleiben und ohne Hilfsfunktionen zu erstellen (wodurch die gesamte Idee einer privaten Variablen zunichte gemacht wird).

class MyClass
{

    static private $_var1;
    private $_var2;

    static function setVar1( $value )
    {
        $closure = function () use ( $value ) {
            self::$_var1 = $value;
        };
        $closure();
    }

    function setVar2( $value )
    {
        $closure = function () use ( $value ) {
            $this->_var2 = $value;
        };
        $closure();
    }

}

MyClass::setVar1( "hello" ); //doesn't work

$myclass = new MyClass;
$myclass->setVar2( "hello" ); //doesn't work

Antworten auf die Frage(6)

Ihre Antwort auf die Frage