是否有PHP源文件的静态分析工具?
二进制本身可以检查语法错误,但我正在寻找做得更多的东西,比如:
未使用的变量赋值 未初始化就被赋值的数组 可能还有代码风格的警告 ...
是否有PHP源文件的静态分析工具?
二进制本身可以检查语法错误,但我正在寻找做得更多的东西,比如:
未使用的变量赋值 未初始化就被赋值的数组 可能还有代码风格的警告 ...
当前回答
有一个新的PHP工具叫做nWire。它是一个用于Eclipse PDT和Zend Studio 7.x的代码探索插件。它为PHP提供了实时代码分析,并提供了以下工具:
代码可视化——组件和关联的交互式图形表示。 代码导航-独特的导航视图显示所有的关联,并与您一起编写或阅读代码。 快速搜索-搜索方法,字段,文件等。
其他回答
从命令行以lint模式运行php以验证语法而不执行:
php -l FILENAME
高级静态分析器包括:
php-sat -需要http://strategoxt.org/ PHP_Depend PHP_CodeSniffer PHP混乱检测器 PHPStan PHP-CS-Fixer 显象
较低级别的分析器包括:
PHP_Parser Token_get_all(原语函数)
由于PHP的动态特性,运行时分析程序对某些事情更有用,包括:
Xdebug具有代码覆盖和函数跟踪。 我的PHP跟踪工具基于Xdebug的函数跟踪,使用静态/动态结合的方法。
文档库phpdoc和Doxygen执行一种代码分析。例如,Doxygen可以配置为使用Graphviz呈现良好的继承图。
另一个选项是xhprof,它类似于Xdebug,但更轻,适合于生产服务器。该工具包括一个基于php的界面。
NetBeans IDE检查语法错误、不常用的变量等。它不是自动的,但对于小型或中型项目来说效果很好。
在线PHP lint
PHPLint
单元变量检查。不过,Link 1和2似乎已经很好地做到了这一点。
不过,我不能说我密集地使用了其中的任何一个:)
PHP Mess Detector非常棒,而且速度很快。
为了完整起见,还要检查phpCallGraph。