3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $foo = new class { public function Bar () { echo 'bar'; } }; // This succeeds. I'd argue an error should be generated at this point echo $serFoo = serialize($foo); // Unserialize fails and a notice is generated $unFoo = unserialize($serFoo); // Error generated on call $unFoo->Bar();
based on Gb01b

Shows result from various feature-branches currently under review from the php developers. Contact me to have additional branches featured.

Output for Typed properties v2
Fatal error: Uncaught Exception: Serialization of 'class@anonymous' is not allowed in /in/AJY6d:10 Stack trace: #0 /in/AJY6d(10): serialize(Object(class@anonymous)) #1 {main} thrown in /in/AJY6d on line 10
Output for Array change keys
Fatal error: Uncaught Exception: Serialization of 'class@anonymous' is not allowed in /in/AJY6d:10 Stack trace: #0 /in/AJY6d(10): serialize(Object(class@anonymous)) #1 {main} thrown in /in/AJY6d on line 10
Output for Lexical anon
Parse error: syntax error, unexpected 'class' (T_CLASS) in /in/AJY6d on line 3

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