php – 非静态方法…不应静态调用 - 代码日志

php – 非静态方法…不应静态调用

我最近对PHP 5.4进行了更新,我收到一个关于静态和非静态代码的错误。

这是错误:

PHP Strict Standards:  Non-static method VTimer::get() 
should not be called statically in /home/jaco/public_html/include/function_smarty.php on line 371

这是第371行:

$timer  = VTimer::get($options['magic']);

我希望有人能帮忙。

这意味着它应该被称为:

$ timer =(new VTimer) – > get($ options [‘magic’]);

静态和非静态之间的区别是第一个不需要初始化,所以你可以调用类名然后append ::并立即调用该方法。
像这样:

ClassName::method();

如果方法不是静态的,那么您需要像这样初始化它:

$var = new ClassNmae();
$var->method();

但是在PHP 5.4中,您可以使用此语法来更快地调用:

(new ClassName)->method();
http://stackoverflow.com/questions/19693946/non-static-method-should-not-be-called-statically

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:php – 非静态方法…不应静态调用