<?php
ini_set('display_errors', '1');
error_reporting(E_ALL);
class _Parent {
private $name = 'Parent';
public function doSomething() {
return $this->name;
}
}
class Child extends _Parent {
private $name = 'Child';
public function doSomething() {
return $this->name;
}
}
class GrandChild extends Child {
private $name = 'GrandChild';
public function doSomething() {
return _Parent::doSomething() . ' from ' . $this->name;
}
}
$parent = new _Parent();
$child = new Child();
$grandChild = new GrandChild();
echo $parent->doSomething() . PHP_EOL;
echo $child->doSomething() . PHP_EOL;
echo $grandChild->doSomething() . PHP_EOL;
- Output for 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.7, 7.2.29 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- Parent
Child
Parent from GrandChild
preferences:
168.88 ms | 403 KiB | 187 Q