3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Base { private $foo; public function __construct() { $this->foo = "base foo"; } public final function getFoo() { var_dump($this); return $this->foo; } } class Derived extends Base { public $foo; public function __construct($type) { parent::__construct(); $this->foo = "derived foo"; $this->somethingUndefined = "dynamically declared"; } } $base = new Base(); var_dump($base->getFoo()); $derived = new Derived(0); var_dump($derived->getFoo()); $clonedDerived = clone $derived; var_dump($clonedDerived->getFoo());

preferences:
27.96 ms | 402 KiB | 5 Q