Классы First,Second,Third. Second наследуется от First, а Third от Second.
Логика такова(предположения):
1)В памяти в объект попадают всё из First
2)Добавляем к предыдущему результату все из Second (перезаписываем если имена свойств и методов совпадают)
3)Добавляем к предыдущему результату все из Third (перезаписываем если имена свойств и методов совпадают)
self же указывает на текущий класс?
class First {
private const MY_CONST_1 = 'Константа MY_CONST_1 из класса First';
protected const MY_CONST_2 = 'Константа MY_CONST_2 из класса First';
public static $test = 'Статическое свойство test из класса First<br>';
}
class Second extends First {
public function getMyConst(){
echo 'Вызов метода getMyConst из класса Second<br>';
echo self::MY_CONST_2 . '<br>';
echo self::$test . '<br>';
}
}
class Third extends Second {}
(new Third())->getMyConst();