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