Ich versuche, die Instanz der Klasse zuzugreifen, in dem es ein anonymes, wie wir in Java, zum Beispiel tun enthält:Wie kann man von einem Anonymous in PHP 7 auf die Instanz der Hauptklasse zugreifen?
JAVA
class MyClass
{
private String prop = "test";
public void test()
{
new Runnable() {
public void run()
{
// I can access MyClass.this from here
System.out.println(MyClass.this.prop);
}
}.run();
}
}
PHP 7
<?php
class MyClass
{
private $prop = "test";
public function test()
{
$class = new class{
public function run()
{
// ???? MyClass::$prop ????
}
};
}
}
I Wie kann Zugriff auf die MyClass-Instanz von innerhalb des anonymen?
Sie so etwas wie Eltern bedeuten :: prop http : //php.net/manual/pl/keyword.parent.php –
Sie müssen es als StdClass beziehen, dann vielleicht Reflection? Sie mischen Java-Logik mit PHP-Logik - das funktioniert nicht, weil der Bereich nicht erreicht. Es sei denn, Sie machen die Eigenschaft statisch: Sie kann mit 'ClassName :: $ property' aufgerufen werden, muss aber öffentlich sein. – KDOT
@BenYitzhaki Parent :: $ Prop funktioniert nicht in PHP 7 Anon Klassen – Mystic