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