PHP_CodeSniffer is a set of two PHP scripts; the main phpcs
script that tokenizes PHP, JavaScript and CSS files to detect violations of a defined coding standard, and a second phpcbf
script to automatically correct coding standard violations. PHP_CodeSniffer is an essential development tool that ensures your code remains clean and consistent.
PHP_CodeSniffer requires PHP version 5.1.2 or greater, although individual sniffs may have additional requirements such as external applications and scripts. See the Configuration Options manual page for a list of these requirements.
The SVN pre-commit hook requires PHP version 5.2.4 or greater due to its use of the vertical whitespace character.
The easiest way to get started with PHP_CodeSniffer is to download the Phar files for each of the commands:
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
php phpcs.phar -h
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
php phpcbf.phar -h
If you use PEAR, you can install PHP_CodeSniffer using the PEAR installer. This will make the phpcs
and phpcbf
commands immediately available for use. To install PHP_CodeSniffer using the PEAR installer, first ensure you have installed PEAR and then run the following command:
pear install PHP_CodeSniffer
If you prefer using Composer you can easily install PHP_CodeSniffer system-wide with the following command:
composer global require "squizlabs/php_codesniffer=*"
Make sure you have ~/.composer/vendor/bin/
in your PATH.
Or alternatively, include a dependency for squizlabs/php_codesniffer
in your composer.json
file. For example:
{
"require-dev": {
"squizlabs/php_codesniffer": "2.*"
}
}
You will then be able to run PHP_CodeSniffer from the vendor bin directory:
./vendor/bin/phpcs -h
./vendor/bin/phpcbf -h
You can also download the PHP_CodeSniffer source and run the phpcs
and phpcbf
commands directly from the Git clone:
git clone https://github.com/squizlabs/PHP_CodeSniffer.git
cd PHP_CodeSniffer
php scripts/phpcs -h
php scripts/phpcbf -h
The documentation for PHP_CodeSniffer is available on the Github wiki.
Information about upcoming features and releases is available on the Squiz Labs blog.
Bug reports and feature requests can be submitted on the Github Issue Tracker or the PEAR bug tracker.
See CONTRIBUTING.md for information.