3v4l.org

run code in 300+ PHP versions simultaneously
<?php class foo { protected $var; function initClass() { $this->var = __CLASS__; } function getVar() { assert($this->var !== null); // ensure initClass was called return $this->var; } } class bar extends foo { function initClass() { $this->var = __CLASS__; } } class baz extends bar { function initClass() { $this->var = __CLASS__; } } $baz = new baz; call_user_func([$baz, "foo::initClass"]); var_dump($baz->getVar());

preferences:
50.72 ms | 402 KiB | 5 Q