3v4l.org

run code in 300+ PHP versions simultaneously
<?php $alias_list = []; $alias_autoloader = function($class_name) use (&$alias_list) { if (isset($alias_list[strtolower($class_name)])) { class_alias($alias_list[strtolower($class_name)], $class_name); return true; } }; $alias = function($from, $to) use (&$alias_list) { $alias_list[strtolower($to)] = $from; }; spl_autoload_register($alias_autoloader); class Foo { function test() { return get_class($this); } } $alias('Foo', 'Bar'); function hint_on_bar(Bar $bar) { return "worked"; } class_exists(Bar); $b = new Foo; var_dump(hint_on_bar($b));

preferences:
50.66 ms | 402 KiB | 5 Q