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{
public function test5(){
var_dump(get_class());
}
}
$B=new B();
$B->test();
$B->test2();
Foo::test3();
Foo::test4();
B::test3();
B::test4(); B::test5();
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
输出结果:
string 'Foo' (length=3)
string 'B' (length=1)
string 'Foo' (length=3)
string 'Foo' (length=3)
string 'Foo' (length=3)
string 'B' (length=1)
string 'B' (length=1)
string 'B' (length=1)
string
'B'
(
length
=
1
)
string
'B'
(
length
=
1
)