她是我的代码:
class MyClass
{
public $prop;
public function method ()
{
echo $this->prop;
}
}
然后在代码中的某个地方,意外地:
MyClass::method();
我预计上面的行会出现解释错误,因为被调用的方法不是静态的。相反,该方法被调用,并且我收到了有关 $prop 不存在的异常。所以我知道该方法被称为静态方法,即使它不是。
是这样的吗? (到底为什么?)
静态调用非静态方法会生成 E_STRICT 级别警告。
http://php.net/manual/en/language.oop5.static.php
我想你已经抑制了 E_STRICT 警告。它可以工作(可能是由于遗留原因),但不推荐。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)