php get_called_class()函数与get_class函数的区别

get_class (): 获取当前调用方法的类名; 
get_called_class():获取静态绑定后的类名;

有例为证:

 class Foo{
      public function test(){
         var_dump(get_class());
      }

      public function test2(){
        var_dump(get_called_class());
      }

      public static function test3(){
        var_dump(get_class());
      }

      public static function test4(){
        var_dump(get_called_class());
      }
   }

   class B extends Foo{

   }

   $B=new B();
   $B->test();
   $B->test2();
   Foo::test3();
   Foo::test4();
   B::test3();
   B::test4();

输出结果:

string 'Foo' (length=3)
string 'B' (length=1)
string 'Foo' (length=3)
string 'Foo' (length=3)
string 'Foo' (length=3)
string 'B' (length=1)

 

 

转:http://blog.csdn.net/tashanhongye/article/details/48159771

参:http://php.net/manual/zh/function.get-called-class.php

 

 

 

 

posted @ 2017-12-12 22:52  与f  阅读(1207)  评论(0编辑  收藏  举报