3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class FooBase { private $money; function __construct($money) { $this->money = $money; } function getMoney() { return $this->money; } } class Foo extends FooBase { private $money; function getMoney() { return '$' . parent::getMoney(); } function setMoney($money) { $this->money = $money; } } class Bar extends Foo { private $money; function getMoney() { return '$' . $this->money; } function setMoney($money) { $this->money = $money; } } class Baz extends Bar { protected $money; } var_dump('foo'); $foo = new Foo(12345); var_dump($foo->getMoney()); $foo->setMoney(67890); var_dump($foo->getMoney()); var_dump('bar'); $bar = new Bar(12345); var_dump($bar->getMoney()); $bar->setMoney(67890); var_dump($bar->getMoney()); var_dump('baz'); $baz = new Baz(12345); var_dump($baz->getMoney()); $baz->setMoney(67890); var_dump($baz->getMoney());

preferences:
36.02 ms | 402 KiB | 5 Q