странное (ли?) поведение: self и get_class()

KottCoos

Новичок
странное (ли?) поведение: self и get_class()

Данный код:

class Example_Parent_Class
{
static function test()
{
$instance = new self();
return get_class($instance);
}
}

class Example_Child_Class extends Example_Parent_Class
{

}

echo Example_Child_Class::test();

в последней строке возвращает класс Example_Parent_Class,
но почему ???
 

tony2001

TeaM PHPClub
статический метод принадлежит к и выполняется в контексте того класса, в котором он был определён.
 

KottCoos

Новичок
вместо static function test()

просто написал function test(),

и, все равно, соответсвующий вызов

$ex = new Example_Child_Class();
$ex->test();

выдал Example_Parent_Class
 

tony2001

TeaM PHPClub
да, я был не прав, это относится ко всем методам, включая статические.
 

KottCoos

Новичок
интересно другое: есть ли в этом какой-то "изюм" или это незапланированный "косяк" от разработчиков ? :)
 
Сверху