3v4l.org

run code in 300+ PHP versions simultaneously
<?php class BaseItem { static protected $_instances = 0; private function __construct(){ echo 'Tworzymy obiekt podstawowy'.PHP_EOL; } public function doSomeConfig(){ echo 'Konfigurujemy obiekt '.((get_class($this) =='baseItem') ? 'podstawowy' : 'specjalny').'<br/>'; } public function work() { echo 'Ja dzialam: '.get_class($this).' '.PHP_EOL; } public static function factory() { $object = new BaseItem; $object->doSomeConfig(); self::$_instances++; return $object; } } class SpecialItem extends BaseItem { private function __construct(){ echo 'Tworzymy obiekt specjalny'.PHP_EOL; } public static function factory() { $object = new SpecialItem; $object->doSomeConfig(); parent::$_instances++; return $object; } } $baseObject = BaseItem::factory(); $specialObject = SpecialItem::factory(); $baseObject->work(); $specialObject->work();
Output for git.master, git.master_jit, rfc.property-hooks
Tworzymy obiekt podstawowy Konfigurujemy obiekt specjalny<br/>Tworzymy obiekt specjalny Konfigurujemy obiekt specjalny<br/>Ja dzialam: BaseItem Ja dzialam: SpecialItem

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