3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { public function display() { $cb = self::fooStaticMethod(); call_user_func($cb, $this); } public static function fooStaticMethod() { return self::getCallable(); } private static function getCallable() { return function (Foo $foo) { $foo->fooMethod(); }; } private function fooMethod() { var_dump('fii'); } } class Bar extends Foo { } $bar = new Bar(); $bar->display();

preferences:
48.06 ms | 402 KiB | 5 Q