私たちは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'を使用して呼び出すことができますが、publicである必要があります。 – KDOT
@BenYitzhaki親::そのコードは、これは[匿名クラスのドキュメント](http://php.net/manual/en/languageに実際にあるPHP 7 – Mystic