3v4l.org

run code in 300+ PHP versions simultaneously
<?php function f ($name, $vars) { var_dump($vars); return $name; } trait A { function bar() { var_dump(get_class(), get_class(null), get_class(self), get_class(${f('this', array_merge(get_defined_vars(), isset($this) ? array() : array()))})); } } class B { use A; } $f = new B; $f->bar();

preferences:
34.52 ms | 402 KiB | 5 Q