使用PHP,静态方法既可以用于静态方法,也可以用于非静态方法,而非静态方法只能用于非静态方法 . 这就是调用动态方法静态生成 E_STRICT 错误的原因 .
例如:
class Example
{
public function foo() {
return "Foo";
}
public static function bar() {
return "Bar";
}
}
$ex = new Example();
// Non-static call
echo $ex->bar();
// Static call on a non-static method
// PHP Error "Strict standards: Non-static method should not be called statically"
// ERROR NOT DETECTED BY PHPSTORM!
echo Example::foo();
最后一行将生成此PHP错误(这是逻辑):
我目前正在开发一个大型PHP应用程序,在某些PHP文件中静态调用非静态方法 . 这是一个非常老的PHP版本的问题,但我们决定迁移到最新的PHP版本 .
手动检查所有项目文件,以确定这个错误的语法将太长(1000个文件)!
The built-in code inspection features of PhpStorm doesn't detect this type of error within the analyzed source code. Why? Should I configure something? How?
下面,我在PhpStorm中的PHP代码检查配置:
谢谢!
本文发布于:2024-02-02 02:37:17,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170681509240853.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |