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

Ita*_*vka 8 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();
Run Code Online (Sandbox Code Playgroud)

这将是回声

实例C.

Max*_*sky 5

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

资源

所以当然,它是一个功能,它是设计的,它不是一个bug.

  • 我认为这是一个错误.我不能用设计来形象,因为它很奇怪. (2认同)