3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php abstract class Base { /** @return void */ abstract protected function _init(); /** @return void */ public function init() { /** @var bool $initialized */ static $initialized = false; if (!$initialized) { $this->_init(); $initialized = true; } } } class A extends Base { /** * @override * @return void */ protected function _init() {echo __CLASS__;} } class B extends Base { /** * @override * @return void */ protected function _init() {echo __CLASS__;} } $a = new A; $b = new B; $a->init(); $b->init();
based on KguI5
Output for 5.0.0 - 7.2.0
AB
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CLASS in /in/TGeLO on line 2
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_CLASS in /in/TGeLO on line 2
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/TGeLO on line 2
Process exited with code 255.