3v4l.org

run code in 300+ PHP versions simultaneously
<?php class namedClass{ protected $prop; public function __construct($value){ $this->prop = $value; } public function returnProperty($propName){ if( !empty($this->$propName) ){ return $this->$propName; }else{ return null; } } } $standardObject = new namedCLass('The named class'); echo $standardObject->returnProperty('prop')."\n"; class namedExtension extends namedClass{ public function returnProperty($propName){ if( !empty($this->$propName) ){ return $this->$propName.' from standard extenstion'; }else{ return null; } } } $extObject = new namedExtension('The named extension'); echo $extObject->returnProperty('prop')."\n"; $anonObj = new class('The anonymous class') extends namedClass{ public function returnProperty($propName){ if( !empty($this->$propName) ){ return $this->$propName.' from anonymous class'; }else{ return null; } } }; echo $newObj->returnProperty();
Output for git.master, git.master_jit, rfc.property-hooks
The named class The named extension from standard extenstion Warning: Undefined variable $newObj in /in/i2cji on line 72 Fatal error: Uncaught Error: Call to a member function returnProperty() on null in /in/i2cji:72 Stack trace: #0 {main} thrown in /in/i2cji on line 72
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.2 ms | 401 KiB | 8 Q