使用Tokenizer做简单PHP代码静态分析

发布: 2013-03-16 15:43

这是PHP的核心功能。



检测扩展模块是否完整:

读取所有的代码,查找到所有的定义的类

对所有new的类到定义类中查找,

如没找到,则测试是否是扩展类,

如再没找到,则是没有任何定义的类,可能是扩展安装不全。

可以通过字符串的近似匹配算法,查看是否是手误。



检测扩展函数是否完整:

读取所有的代码,查找到所有的定义的函数

对所有函数调用到定义函数表中查找,

如没找到,则测试是否是自带函数,或者是扩展函数,

如再没找到,则是没有任何定义的函数,可能是扩展安装不全,或者有手误。



检测类方法调用:

是否定义了方法,定义的public/private是否合适。



检测没有使用的函数、类、变量。

PHP代码静态分析工具列表:

hiphop


原文: http://qtchina.tk/?q=node/724

Powered by zexport