有可能从\ Closure获得这个和范围

时间:2016-06-05 14:15:41

标签: php closures

有谁知道如何从this对象获取scope对象和\Closure类名?

我通过反射等尝试了各种方法,但我没有成功。我找到的唯一选项是var_dump转储此对象,但范围命名空间仍然是隐藏的。


代码中的问题:

class A {
    public function makeCallback() {
        return function() {};
    }
}

$a = new A();
$closureWithBound = $a->makeCallback();

var_dump($closureWithBound);

输出:

object(Closure)#6 (1) {
  ["this"]=>
  object(A)#5 (0) {
  }
}


我的问题是如何从this获取$closureWithBound对象以及函数的静态范围(\A此处)。


编辑:无法从对象中恢复范围,因为回调可以从静态范围声明,静态范围仍然是范围,但没有对象。

0 个答案:

没有答案