我有这段代码:
class a(){
function b(){
if(isset($this){
echo 'instance! ';
echo get_class($this);
}else{
echo 'static';
}
}
}
class C{
public function test(){
a::b();
}
}
$CC=new C;
$CC->test();
这将回显
实例C
答案 0 :(得分:5)
当从对象上下文中调用方法时,伪变量$ this可用。 $ this是对调用对象的引用(通常是方法所属的对象,但如果从辅助对象的上下文静态调用该方法,则可能是另一个对象)。
所以当然,它是一个功能,它是设计的,它不是一个错误。