<?php
class ParentClass {
private $name = 'Parent';
public function getName() { return $this->name; }
public function setName($name) { $this->name = $name; }
}
class Child extends ParentClass {
public $name = 'Child';
}
$parent = new ParentClass();
echo "\nParent name: " . $parent->getName();
echo "\nSetting parent name to 'old'"; $parent->setName('old');
echo "\nParent name after change: " . $parent->getName();
$child = new Child();
echo "\nChild name by getter: " . $child->getName();
echo "\nChild name by prop: " . $child->name;
var_export($child);
Parent name: Parent
Setting parent name to 'old'
Parent name after change: old
Child name by getter: Parent
Child name by prop: Child\Child::__set_state(array(
'name' => 'Parent',
'name' => 'Child',
))
Output for 8.1.0 - 8.1.28
Parent name: Parent
Setting parent name to 'old'
Parent name after change: old
Child name by getter: Parent
Child name by prop: ChildChild::__set_state(array(
'name' => 'Parent',
'name' => 'Child',
))
Parent name: Parent
Setting parent name to 'old'
Parent name after change: old
Child name by getter: Parent
Child name by prop: ChildChild::__set_state(array(
'name' => 'Child',
'name' => 'Parent',
))
Output for 5.0.0 - 5.0.5
Parent name: Parent
Setting parent name to 'old'
Parent name after change: old
Child name by getter: Parent
Child name by prop: Childclass Child {
public $name = 'Child';
private $name = 'Parent';
}
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/45HX9 on line 4
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/45HX9 on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/45HX9 on line 4
Process exited with code 255.