Tools

Sebastian Bergmann's presentation on "The State of QA Tools for PHP" at the FrOSCon 2009 conference raised demand for an overview page of PHP quality assurance tools.

This page is a first attempt of creating such an overview.

PHPUnit

PHPUnit is the de-facto standard for unit testing in PHP projects. It provides both a framework that makes the writing of tests easy as well as the functionality to easily run the tests and analyse their results.

phploc

phploc is a tool for quickly measuring the size of a PHP project.

phpcpd

phpcpd is a Copy/Paste Detector (CPD) for PHP code. It scans a PHP project for duplicated code.

phpdcd

phpdcd is a Dead Code Detector (DCD) for PHP code. It scans a PHP project for code that is no longer used.

pdepend

pdepend can generate a large set of software metrics from a given code base. These values can be used to measure the quality of a software project and they help to identify the parts of an application where a code refactoring should be applied.

phpmd

phpmd scans PHP source code and looks for potential problems such as possible bugs, dead code, suboptimal code, and overcomplicated expressions

phpcs

phpcs tokenises PHP, JavaScript and CSS files and detects violations of a defined set of coding standards. It is an essential development tool that ensures your code remains clean and consistent. It can also help prevent some common semantic errors made by developers.

bytekit-cli

bytekit-cli provides a command-line tool that leverages the Bytekit extension to perform common code analysis tasks on the PHP bytecode level.

phantm

phantm is a tool that can be used to spot various kinds of mistakes in PHP applications.

Padawan

Padawan implements PHP AST-based detection of anti patterns, workarounds and general nuisances.

PHP_CodeBrowser

PHP_CodeBrowser provides a code browser for PHP files with syntax highlighting and colored error-sections found by quality assurance tools such as PHPUnit and PHP_CodeSniffer.

phpUnderControl

phpUnderControl is a continuous integration solution built on top of CruiseControl. It aims to make your first steps with CruiseControl and PHP as easy as possible.