编程语言
首页 > 编程语言> > PHP:通过ClassName :: method语法调用实例方法,导致静态调用?

PHP:通过ClassName :: method语法调用实例方法,导致静态调用?

作者:互联网

她是我的代码:

class MyClass 
{
   public $prop;
   public function method ()
   {
     echo $this->prop;
   }
}

然后在代码中的某个地方,偶然地:

MyClass::method();

由于被调用的方法不是静态的,所以我希望对上述行有解释错误.而是调用了该方法,并且我收到了有关$prop不存在的异常.因此,我知道该方法被称为静态方法,即使并非如此.

这样行吗? (为什么呢?)

解决方法:

Calling non-static methods statically generates an E_STRICT level warning.

http://php.net/manual/en/language.oop5.static.php

我想您已禁止了E_STRICT警告.它可以工作(可能是出于遗留原因),但不建议这样做.

标签:php,static-methods
来源: https://codeday.me/bug/20191009/1879201.html