PHP 在静态函数中获取子类的名称


PHP Get name of child class in static function

这样的事情可能吗?

<?
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"