squizlabs/PHP_CodeSniffer


PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.

http://pear.php.net/package/PHP_CodeSniffer

License: Other

Language: PHP

Keywords: automation, cli, coding-standards, php, qa, static-analysis


About

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.

Build Status Code consistency Join the chat at https://gitter.im/squizlabs/PHP_CodeSniffer

Requirements

PHP_CodeSniffer requires PHP version 5.4.0 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.

If you're using PHP_CodeSniffer as part of a team, or you're running it on a CI server, you may want to configure your project's settings using a configuration file.

Installation

The easiest way to get started with PHP_CodeSniffer is to download the Phar files for each of the commands:

# Download using curl
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar

# Or download using wget
wget https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
wget https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar

# Then test the downloaded PHARs
php phpcs.phar -h
php phpcbf.phar -h

Composer

If you use Composer, you can install PHP_CodeSniffer system-wide with the following command:

composer global require "squizlabs/php_codesniffer=*"

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.

Or alternatively, include a dependency for squizlabs/php_codesniffer in your composer.json file. For example:

{
    "require-dev": {
        "squizlabs/php_codesniffer": "3.*"
    }
}

You will then be able to run PHP_CodeSniffer from the vendor bin directory:

./vendor/bin/phpcs -h
./vendor/bin/phpcbf -h

Phive

If you use Phive, you can install PHP_CodeSniffer as a project tool using the following commands:

phive install phpcs
phive install phpcbf

You will then be able to run PHP_CodeSniffer from the tools directory:

./tools/phpcs -h
./tools/phpcbf -h

PEAR

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

Git Clone

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 bin/phpcs -h
php bin/phpcbf -h

Documentation

The documentation for PHP_CodeSniffer is available on the Github wiki.

Issues

Bug reports and feature requests can be submitted on the Github Issue Tracker.

Contributing

See CONTRIBUTING.md for information.

Versioning

PHP_CodeSniffer uses a MAJOR.MINOR.PATCH version number format.

The MAJOR version is incremented when:

  • backwards-incompatible changes are made to how the phpcs or phpcbf commands are used, or
  • backwards-incompatible changes are made to the ruleset.xml format, or
  • backwards-incompatible changes are made to the API used by sniff developers, or
  • custom PHP_CodeSniffer token types are removed

The MINOR version is incremented when:

  • new backwards-compatible features are added to the phpcs and phpcbf commands, or
  • backwards-compatible changes are made to the ruleset.xml format, or
  • backwards-compatible changes are made to the API used by sniff developers, or
  • new sniffs are added to an included standard

NOTE: Backwards-compatible changes to the API used by sniff developers will allow an existing sniff to continue running without producing fatal errors but may not result in the sniff reporting the same errors as it did previously without changes being required.

The PATCH version is incremented when:

  • backwards-compatible bug fixes are made

NOTE: As PHP_CodeSniffer exists to report and fix issues, most bugs are the result of coding standard errors being incorrectly reported or coding standard errors not being reported when they should be. This means that the messages produced by PHP_CodeSniffer, and the fixes it makes, are likely to be different between PATCH versions.

Project Statistics

Sourcerank 21
Repository Size 186 MB
Stars 6,310
Forks 1,060
Watchers 202
Open issues 167
Dependencies 5
Contributors 183
Tags 74
Created
Last updated
Last pushed

Top Contributors See all

Greg Sherwood Juliette Juliette Michał Bundyra Mponos George Walt Sorensen Walt Sorensen Klaus Purer Andy Grunwald Benjamin Pearson Spencer Rinehart Stefano Kowalke Jaroslav Hanslík Alexander Obuhovich Tim Bezhashvyly Phil Davis Ryan McCue Chris Wilkinson Arnout Boks Joseph Zidell

Packages Referencing this Repo

squizlabs/php_codesniffer
PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set o...
Latest release 3.4.1 - Updated - 6.31K stars

Recent Tags See all

3.4.2 April 10, 2019
3.4.1 March 19, 2019
3.4.0 December 20, 2018
2.9.2 November 07, 2018
3.3.2 September 23, 2018
3.3.1 July 26, 2018
3.3.0 June 07, 2018
1.3.0 March 12, 2018
3.2.3 February 20, 2018
3.2.2 December 19, 2017
3.2.1 December 18, 2017
3.2.0 December 12, 2017
3.1.1 October 16, 2017
3.1.0 September 19, 2017
3.0.2 July 18, 2017

Interesting Forks See all

pear/PHP_CodeSniffer
PHP_CodeSniffer tokenises PHP, JavaScript and CSS files and detects violations of a defined set o...
PHP - Other - Last pushed - 18 stars - 2 forks
wimg/PHP_CodeSniffer
PHP_CodeSniffer tokenises PHP, JavaScript and CSS files and detects violations of a defined set o...
PHP - BSD-3-Clause - Last pushed - 7 stars - 2 forks
Symplify/PHP7_CodeSniffer
[READ-ONLY] For issues and PRs see main repository:
PHP - MIT - Last pushed - 5 stars - 1 forks
zerkalica/PHP_CodeSniffer
PHP_CodeSniffer tokenises PHP, JavaScript and CSS files and detects violations of a defined set o...
PHP - BSD-3-Clause - Last pushed - 4 stars - 3 forks
instaclick/PHP_CodeSniffer
PHP_CodeSniffer tokenises PHP, JavaScript and CSS files and detects violations of a defined set o...
PHP - BSD-3-Clause - Last pushed - 1 stars - 3 forks

Something wrong with this page? Make a suggestion

Last synced: 2019-04-11 00:10:41 UTC

Login to resync this repository