PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

Using HipHop for Static Analysis

Note: This article was originally published at Planet PHP on 27 July 2010.
Planet PHP

HipHop for PHP, the source code transformer that turns PHP code into C++ code that can then be compiled with g++, can also be used for static code analysis to find problems in PHP source code.

sb@vmware Money % hphp -t analyze --input-dir . running hphp... creating temporary directory /tmp/hphp_Zz7AXg ... parsing inputs... parsing inputs took 0'00" (20 ms) wall time inferring types... inferring types took 0'00" (10 ms) wall time saving code errors, dependency graph and stats... all files saved in /tmp/hphp_Zz7AXg ... running hphp took 0'00" (208 ms) wall time

The script below takes a CodeErrors.js file (which is generated by hphp and in the example above is saved to /tmp/hphp_Zz7AXg) as its input and print an XML document in Checkstyle's format (the same XML format that is also used by PHP_CodeSniffer, for instance). This XML logfile can then be used with Hudson, for instance, in a continuous integration context.