gpt4 book ai didi

php - 是否有任何 PHP 静态分析器可以检测不存在的类方法调用?

转载 作者:可可西里 更新时间:2023-11-01 13:28:53 24 4
gpt4 key购买 nike

下面是一个语法上有效的 PHP 程序,它可以正常工作一半时间。在任何静态语言中,等效的行将是一个编译错误:

<?php
class A {
function a() { return 1; }
}

$x = new A();

if(rand(1,100) > 50) {
print $x->b();
}
else {
print $x->a();
}

?>

PHP 的示例输出:

C:\temp>php static.php
1
C:\temp>php static.php
1
C:\temp>php static.php

Fatal error: Call to undefined method A::b() in C:\temp\static.php on line 9

Call Stack:
0.9747 323920 1. {main}() C:\temp\static.php:0

动态语言的支持者非常兴奋,因为,嘿,这个程序有 50% 的时间可以工作,而静态语言上的等效程序将无法编译,因此只有 0% 的时间可以工作。

所以,关于我的问题。是否有任何 PHP 静态分析工具可以检测此类特定问题?

我已阅读相关问题:Is there a static code analyzer [like Lint] for PHP files?

但与其一一尝试其中提到的所有工具,我想我会问一个更具体的问题,以便将注意力集中在可以做到这一点的工具上。

最佳答案

PhpStorm IDE 可以在 PHP 代码中找到这个错误和许多其他错误。这是此 IDE 的 Inspections 功能。

example for this code

我只是这个 IDE 的用户,它不是营销:)

关于php - 是否有任何 PHP 静态分析器可以检测不存在的类方法调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6104600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com