$ PHP的范围在PHP中是否是一个漏洞或功能?

时间:2011-09-24 14:00:35

标签: php oop

我有这段代码:

    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

1 个答案:

答案 0 :(得分:5)

  

当从对象上下文中调用方法时,伪变量$ this可用。 $ this是对调用对象的引用(通常是方法所属的对象,但如果从辅助对象的上下文静态调用该方法,则可能是另一个对象)。

source

所以当然,它是一个功能,它是设计的,它不是一个错误。