这是如何工作的?不应该抛出错误,因为我试图静态调用非静态方法?基本上,我从来没有实例化某种类型的对象。
class Something {
public function helloworld() {
echo 'hello world';
}
}
Something::helloworld();
答案 0 :(得分:1)
将它放在脚本的顶部:
error_reporting( E_ALL | E_STRICT ); // E_STRICT is important here
ini_set( 'display_errors', true );
......然后看看会发生什么:
严格标准:非静态方法Something :: helloworld()不应该 在[...]
中静态调用
不可否认,它更多的是通知而不是错误。您的脚本将很乐意继续运行。
答案 1 :(得分:0)
如果您helloworld()
使用$this
,则只会给您一个错误。
这是一种PHP“WTF”,由于缺少规范,允许您静态调用未实际声明为static
的函数。