3v4l.org

run code in 300+ PHP versions simultaneously
<?php function get_caller(): ?object { foreach (debug_backtrace() as $call) { if (isset($call['object'])) { return $call['object']; } } return null; } function foo(): void { var_dump(get_caller()); } class Bar { public function __construct() { var_dump(get_caller()); new Baz(); } } class Baz { public function __construct() { foo(); } } foo(); new Bar();

preferences:
47.45 ms | 402 KiB | 5 Q