3v4l.org

run code in 300+ PHP versions simultaneously
<?php $anonymous = new class { public function echoMsg(): void { echo 'Hello World' . PHP_EOL; } }; // get_class($anonymous) で無名クラスのPHP内での名前を得る // class_alias で IHaveName というクラス名のエイリアスを作る class_alias(get_class($anonymous), 'IHaveName'); // 無名クラスのエイリアスである IHaveName を継承させる class ExtendAnonymous extends IHaveName { } // 動く $instance = new ExtendAnonymous(); $instance->echoMsg(); // Hello World var_dump($instance); // object(ExtendAnonymous)#1 (0) {} var_dump(get_class($instance)); // string(15) "ExtendAnonymous" var_dump($instance instanceof $anonymous); // bool(true)
Output for git.master, git.master_jit, rfc.property-hooks
Hello World object(ExtendAnonymous)#2 (0) { } string(15) "ExtendAnonymous" bool(true)

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
26.37 ms | 405 KiB | 5 Q