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 Foo { protected $money; function getMoney() { return '$' . $this->money; } function setMoney($money) { $this->money = $money; } } $foo = new Foo(12345); var_dump($foo->getMoney()); $foo->setMoney(67890); var_dump($foo->getMoney()); $bar = new Bar(12345); var_dump($bar->getMoney()); $bar->setMoney(67890); var_dump($bar->getMoney()); $baz = new Baz(12345); var_dump($baz->getMoney()); $baz->setMoney(67890); var_dump($baz->getMoney());

preferences:
34.66 ms | 402 KiB | 5 Q