3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { static function bar() { $foo = static function() { //var_dump( $this ); return get_called_class(); }; return $foo(); } function baz() { $foo = function() { //print "baz: " . var_dump( $self); return get_called_class(); }; return $foo(); } } class Bar extends Foo { } class Bloo { function spaz() { print Bar::baz(); } } $bloo=new Bloo(); print $bloo->spaz(); // assert(Bar::bar() === 'Bar'); // assert(Bar::baz() === 'Bar'); print Bar::baz();
Output for git.master, git.master_jit, rfc.property-hooks
Fatal error: Uncaught Error: Non-static method Foo::baz() cannot be called statically in /in/jM4jS:28 Stack trace: #0 /in/jM4jS(32): Bloo->spaz() #1 {main} thrown in /in/jM4jS on line 28
Process exited with code 255.

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:
44.32 ms | 401 KiB | 8 Q