0

このようなことは可能ですか?

<?
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();
?>
4

2 に答える 2

2

PHP 5.3の時点ではget_called_class()、この目的のために次のものがあります。

echo get_called_class(); // yields "B"
于 2012-08-11T22:09:36.967 に答える
2
<?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

于 2012-08-11T22:09:45.917 に答える