3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { public function getClosure() { var_dump(self::class, static::class); return function () { }; } } class B extends A { } $b = new B(); $c = $b->getClosure(); $r = new ReflectionFunction($c); var_dump($r->getClosureThis() === $b); var_dump($r->getClosureScopeClass()); // self::class var_dump($r->getClosureCalledClass()); // static::class
Output for git.master, git.master_jit
string(1) "A" string(1) "B" bool(true) object(ReflectionClass)#4 (1) { ["name"]=> string(1) "A" } object(ReflectionClass)#4 (1) { ["name"]=> string(1) "B" }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
48.12 ms | 405 KiB | 5 Q