Ale*_*x R 6 php static-analysis
下面是一个语法上有效的PHP程序,它的工作时间是一半.在任何静态语言中,等效行都是编译错误:
<?php
class A {
function a() { return 1; }
}
$x = new A();
if(rand(1,100) > 50) {
print $x->b();
}
else {
print $x->a();
}
?>
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
动态语言支持者会感到兴奋,因为,嘿,这个程序在50%的时间内工作,而静态语言上的等效程序将无法编译,因此在0%的时间内工作.
所以,关于我的问题.是否有任何PHP静态分析工具可以检测到这类特定的问题?
我已经阅读了相关的问题:PHP文件是否有静态代码分析器[如Lint]?
但是我没有尝试一个接一个地提到的所有工具,而是认为我会问一个更具体的问题,以便能够做到这一点.
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |