Если у меня есть этот код, отображается строка "test". Это в PHP 5.3. Это какой-то надзор, на который не следует полагаться, или это какой-то способ достижения множественного наследования в PHP?
class Test1
{
function getName()
{
return $this->name;
}
}
class Test2
{
public $name = 'test';
function getName()
{
return Test1::getName();
}
}
$test = new Test2;
echo $test->getName();
РЕДАКТИРОВАТЬ:
Как было указано в комментариях GZipp, это фактически задокументированное поведение. См. Эту страницу: http://us2.php.net/manual/en/language.oop5.basic.php и заголовок «Пример №2 Некоторые примеры псевдопеременной $ this».
Классы A и B имеют аналогичные отношения с двумя моими тестовыми классами выше, и строки
$b = new B();
$b->bar();
показывают более или менее тот же результат, что и мой пример.