这样的事情可能吗?
<?
class A
{
public static function fun()
{
var_dump(get_class(child)); //bool(false) //should return B
}
}
class B extends A
{
public static function fun()
{
parent::fun();
}
}
B::fun();
?>
<?php
class B extends A
{
public static function fun()
{
parent::fun();
}
}
class A
{
public static function fun()
{
var_dump(get_called_class());
}
}
B::fun();
http://php.net/manual/en/function.get-called-class.php
从 PHP 5.3 开始,有用于此目的的get_called_class()
:
echo get_called_class(); // yields "B"