comparison vendor/squizlabs/php_codesniffer/README.md @ 4:a9cd425dd02b

Update, including to Drupal core 8.6.10
author Chris Cannam
date Thu, 28 Feb 2019 13:11:55 +0000
parents c75dbcec494b
children 12f9dff5fda9
comparison
equal deleted inserted replaced
3:307d7a7fd348 4:a9cd425dd02b
1 About 1 ## About
2 -----
3 2
4 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. 3 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.
5 4
6 [![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) 5 [![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) [![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)
7 6
8 [![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) 7 ## Requirements
9 8
10 Requirements 9 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](https://github.com/squizlabs/PHP_CodeSniffer/wiki/Configuration-Options) for a list of these requirements.
11 ------------
12 10
13 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. 11 ## Installation
14 12
15 The SVN pre-commit hook requires PHP version 5.2.4 or greater due to its use of the vertical whitespace character. 13 The easiest way to get started with PHP\_CodeSniffer is to download the Phar files for each of the commands:
14 ```
15 # Download using curl
16 curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
17 curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
16 18
17 Installation 19 # Or download using wget
18 ------------ 20 wget https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
21 wget https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
19 22
20 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: 23 # Then test the downloaded PHARs
24 php phpcs.phar -h
25 php phpcbf.phar -h
26 ```
21 27
22 curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar 28 ### Composer
23 php phpcs.phar -h 29 If you use Composer, you can install PHP_CodeSniffer system-wide with the following command:
24
25 curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
26 php phpcbf.phar -h
27
28 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:
29
30 pear install PHP_CodeSniffer
31
32 If you prefer using [Composer](http://getcomposer.org/) you can easily install PHP_CodeSniffer system-wide with the following command:
33 30
34 composer global require "squizlabs/php_codesniffer=*" 31 composer global require "squizlabs/php_codesniffer=*"
35 32
36 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`. 33 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`.
37 34
38 Or alternatively, include a dependency for `squizlabs/php_codesniffer` in your `composer.json` file. For example: 35 Or alternatively, include a dependency for `squizlabs/php_codesniffer` in your `composer.json` file. For example:
39 36
40 ```json 37 ```json
41 { 38 {
42 "require-dev": { 39 "require-dev": {
43 "squizlabs/php_codesniffer": "2.*" 40 "squizlabs/php_codesniffer": "3.*"
44 } 41 }
45 } 42 }
46 ``` 43 ```
47 44
48 You will then be able to run PHP_CodeSniffer from the vendor bin directory: 45 You will then be able to run PHP_CodeSniffer from the vendor bin directory:
49 46
50 ./vendor/bin/phpcs -h 47 ./vendor/bin/phpcs -h
51 ./vendor/bin/phpcbf -h 48 ./vendor/bin/phpcbf -h
52 49
50 ### Phive
51 If you use Phive, you can install PHP_CodeSniffer as a project tool using the following commands:
52
53 phive install phpcs
54 phive install phpcbf
55
56 You will then be able to run PHP_CodeSniffer from the tools directory:
57
58 ./tools/phpcs -h
59 ./tools/phpcbf -h
60
61 ### PEAR
62 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:
63
64 pear install PHP_CodeSniffer
65
66 ### Git Clone
53 You can also download the PHP\_CodeSniffer source and run the `phpcs` and `phpcbf` commands directly from the Git clone: 67 You can also download the PHP\_CodeSniffer source and run the `phpcs` and `phpcbf` commands directly from the Git clone:
54 68
55 git clone https://github.com/squizlabs/PHP_CodeSniffer.git 69 git clone https://github.com/squizlabs/PHP_CodeSniffer.git
56 cd PHP_CodeSniffer 70 cd PHP_CodeSniffer
57 php scripts/phpcs -h 71 php bin/phpcs -h
58 php scripts/phpcbf -h 72 php bin/phpcbf -h
59 73
60 Documentation 74 ## Documentation
61 -------------
62 75
63 The documentation for PHP\_CodeSniffer is available on the [Github wiki](https://github.com/squizlabs/PHP_CodeSniffer/wiki). 76 The documentation for PHP\_CodeSniffer is available on the [Github wiki](https://github.com/squizlabs/PHP_CodeSniffer/wiki).
64 77
65 Information about upcoming features and releases is available on the [Squiz Labs blog](http://www.squizlabs.com/php-codesniffer). 78 ## Issues
66 79
67 Issues 80 Bug reports and feature requests can be submitted on the [Github Issue Tracker](https://github.com/squizlabs/PHP_CodeSniffer/issues).
68 ------
69 81
70 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). 82 ## Contributing
71
72 Contributing
73 -------------
74 83
75 See [CONTRIBUTING.md](CONTRIBUTING.md) for information. 84 See [CONTRIBUTING.md](CONTRIBUTING.md) for information.
85
86 ## Versioning
87
88 PHP_CodeSniffer uses a `MAJOR.MINOR.PATCH` version number format.
89
90 The `MAJOR` version is incremented when:
91 - backwards-incompatible changes are made to how the `phpcs` or `phpcbf` commands are used, or
92 - backwards-incompatible changes are made to the `ruleset.xml` format, or
93 - backwards-incompatible changes are made to the API used by sniff developers, or
94 - custom PHP_CodeSniffer token types are removed
95
96 The `MINOR` version is incremented when:
97 - new backwards-compatible features are added to the `phpcs` and `phpcbf` commands, or
98 - backwards-compatible changes are made to the `ruleset.xml` format, or
99 - backwards-compatible changes are made to the API used by sniff developers, or
100 - new sniffs are added to an included standard
101
102 > NOTE: Backwards-compatible changes to the API used by sniff develpers 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.
103
104 The `PATCH` version is incremented when:
105 - backwards-compatible bug fixes are made
106
107 > 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.