3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Abs { const PREFIX = 'Abstract'; static $prefix = 'Abstract'; } class Concrete extends Abs { const PREFIX = 'Concrete'; static $prefix = 'Concrete'; public function getPrefix() { echo "self: " . self::PREFIX . "\n"; echo "static: " . static::PREFIX . "\n"; echo "self: " . self::$prefix . "\n"; echo "static: " . static::$prefix . "\n\n"; } } $concrete = new Concrete(); $concrete->getPrefix(); $abs = new Abs(); $abs->getPrefix();
Output for git.master, git.master_jit, rfc.property-hooks
self: Concrete static: Concrete self: Concrete static: Concrete Fatal error: Uncaught Error: Call to undefined method Abs::getPrefix() in /in/Q4cT6:33 Stack trace: #0 {main} thrown in /in/Q4cT6 on line 33
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:
34.59 ms | 401 KiB | 8 Q