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.

pfff

pfff is mainly an OCaml API to write static analysis, dynamic analysis, code visualizations, code navigations, or style-preserving source-to-source transformations such as refactorings on source code.

phantm

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

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.

PHP Project Wizard

The PHP Project Wizard (PPW) is a commandline tool that can be used to generate the scripts and configuration files necessary for the build automation of a PHP project.

Template for Jenkins Jobs for PHP Projects

Jenkins is the leading open-source continuous integration server. Thanks to its thriving plugin ecosystem, it supports building and testing virtually any project. The goal of the Template for Jenkins Jobs for PHP Projects is to provide a standard template for Jenkins jobs for PHP projects.