Chris@0: About Chris@0: ----- Chris@0: Chris@0: 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. Chris@0: Chris@0: [![Build Status](https://travis-ci.org/squizlabs/PHP_CodeSniffer.svg?branch=phpcs-fixer)](https://travis-ci.org/squizlabs/PHP_CodeSniffer) [![Code consistency](http://squizlabs.github.io/PHP_CodeSniffer/analysis/squizlabs/PHP_CodeSniffer/grade.svg)](http://squizlabs.github.io/PHP_CodeSniffer/analysis/squizlabs/PHP_CodeSniffer) Chris@0: Chris@0: [![Join the chat at https://gitter.im/squizlabs/PHP_CodeSniffer](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/squizlabs/PHP_CodeSniffer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Chris@0: Chris@0: Requirements Chris@0: ------------ Chris@0: Chris@0: 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](https://github.com/squizlabs/PHP_CodeSniffer/wiki/Configuration-Options) for a list of these requirements. Chris@0: Chris@0: The SVN pre-commit hook requires PHP version 5.2.4 or greater due to its use of the vertical whitespace character. Chris@0: Chris@0: Installation Chris@0: ------------ Chris@0: Chris@0: The easiest way to get started with PHP\_CodeSniffer is to download the [Phar](http://php.net/manual/en/intro.phar.php) files for each of the commands: Chris@0: Chris@0: curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar Chris@0: php phpcs.phar -h Chris@0: Chris@0: curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar Chris@0: php phpcbf.phar -h Chris@0: Chris@0: 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](http://pear.php.net/manual/en/installation.getting.php) and then run the following command: Chris@0: Chris@0: pear install PHP_CodeSniffer Chris@0: Chris@0: If you prefer using [Composer](http://getcomposer.org/) you can easily install PHP_CodeSniffer system-wide with the following command: Chris@0: Chris@0: composer global require "squizlabs/php_codesniffer=*" Chris@0: Chris@0: Make sure you have the composer bin dir in your PATH. The default value is `~/.composer/vendor/bin/`, but you can check the value that you need to use by running `composer global config bin-dir --absolute`. Chris@0: Chris@0: Or alternatively, include a dependency for `squizlabs/php_codesniffer` in your `composer.json` file. For example: Chris@0: Chris@0: ```json Chris@0: { Chris@0: "require-dev": { Chris@0: "squizlabs/php_codesniffer": "2.*" Chris@0: } Chris@0: } Chris@0: ``` Chris@0: Chris@0: You will then be able to run PHP_CodeSniffer from the vendor bin directory: Chris@0: Chris@0: ./vendor/bin/phpcs -h Chris@0: ./vendor/bin/phpcbf -h Chris@0: Chris@0: You can also download the PHP\_CodeSniffer source and run the `phpcs` and `phpcbf` commands directly from the Git clone: Chris@0: Chris@0: git clone https://github.com/squizlabs/PHP_CodeSniffer.git Chris@0: cd PHP_CodeSniffer Chris@0: php scripts/phpcs -h Chris@0: php scripts/phpcbf -h Chris@0: Chris@0: Documentation Chris@0: ------------- Chris@0: Chris@0: The documentation for PHP\_CodeSniffer is available on the [Github wiki](https://github.com/squizlabs/PHP_CodeSniffer/wiki). Chris@0: Chris@0: Information about upcoming features and releases is available on the [Squiz Labs blog](http://www.squizlabs.com/php-codesniffer). Chris@0: Chris@0: Issues Chris@0: ------ Chris@0: Chris@0: Bug reports and feature requests can be submitted on the [Github Issue Tracker](https://github.com/squizlabs/PHP_CodeSniffer/issues) or the [PEAR bug tracker](http://pear.php.net/package/PHP_CodeSniffer/bugs). Chris@0: Chris@0: Contributing Chris@0: ------------- Chris@0: Chris@0: See [CONTRIBUTING.md](CONTRIBUTING.md) for information.