3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A{ public function __construct(){ $b = new B(); $a = $this; $b->a = function() use($a){ $a->x(); }; $b->callA(); } private function x(){ var_dump('a'); } } class B { public $a; public function callA(){ $this->a(); } } $a = new A();

preferences:
44.97 ms | 402 KiB | 5 Q