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.

vfsStream

vfsStream is a stream wrapper for a virtual file system that may be helpful in unit tests to mock the real file system.

Behat

Behat is a framework for Behavior Driven Development (BDD) that is inspired by Cucumber.

PHPLOC*

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

PHP Copy/Paste Detector*

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

HPHPA

hphpa is a convenience wrapper for HipHop's static analyzer.

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.

PHP_CodeSniffer*

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.

PHP_Depend*

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.

PHP Mess Detector*

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

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.

Jenkins PHP

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.

Installation

The PHP Quality Assurance Toolchain should be installed using the PEAR Installer, the backbone of the PHP Extension and Application Repository that provides a distribution system for PHP packages.

Depending on your OS distribution and/or your PHP environment, you may need to install PEAR or update your existing PEAR installation before you can proceed with the following instructions.

sudo pear upgrade PEAR usually suffices to upgrade an existing PEAR installation. The PEAR Manual explains how to perform a fresh installation of PEAR.

The following two commands (which you may have to run as root) are all that is required to install all the tools listed above that are marked with a * using the PEAR Installer:

pear config-set auto_discover 1
pear install pear.phpqatools.org/phpqatools