I'm looking for an equivalent of PerlCritic for PHP. PerlCritc is a static source code analyzer that qritiques code and warns about everything from unused variables, to unsafe ways to handle data to almost anything.
Is there such a thing for PHP that could (preferably) be run outside of an IDE, so that source code analysis could be automated?
Not sure I've ever heard about a PHP tool that would do all that... But a couple of existing QA-related tools, that might help you at least a bit, would be :
- PHPMD - PHP Mess Detector -- might actually be the best choice for you, if you consider the set of rules it checks for.
PHP_CodeSniffer
PHP_Depend
- Of course, phpDocumentor can help too : when generating the phpDoc, it can report errors, especially about missing doc-blocks (doesn't report errors in the code, but can still help improve its quality !)
- And don't forget the Xdebug extension, that can generate code-coverage reports, which are especially useful when your code is unit-tested with PHPUnit.
Those two will analyse your code, and can be run from the command-line (i.e. outside of an IDE).
See SD PHP CloneDR for a static analysis tool that finds duplicated code (exact and near misses) across large bodies of PHP code.
There are examples of a PHP clone detection run on the Joomla OSS web framework at the site.