我試圖訪問類的實例,其中包含一個匿名的,因爲我們在Java中做,比如:如何從PHP 7中的匿名訪問主類的實例?
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 ????
}
};
}
}
我怎麼能從匿名內部訪問MyClass實例?
你的意思是像父::道具HTTP ://php.net/manual/pl/keyword.parent.php –
您需要將它作爲StdClass引用,然後使用Reflection?您正在將Java邏輯與PHP邏輯混合 - 由於範圍無法達到,所以無法工作。除非你使屬性成爲靜態的:它可以使用'ClassName :: $ property'來調用,但必須是公共的。 – KDOT
@BenYitzhaki parent :: $ prop不適用於php 7 anon類 – Mystic