Chris@0
|
1 About
|
Chris@0
|
2 -----
|
Chris@0
|
3
|
Chris@0
|
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.
|
Chris@0
|
5
|
Chris@0
|
6 [](https://travis-ci.org/squizlabs/PHP_CodeSniffer) [](http://squizlabs.github.io/PHP_CodeSniffer/analysis/squizlabs/PHP_CodeSniffer)
|
Chris@0
|
7
|
Chris@0
|
8 [](https://gitter.im/squizlabs/PHP_CodeSniffer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
Chris@0
|
9
|
Chris@0
|
10 Requirements
|
Chris@0
|
11 ------------
|
Chris@0
|
12
|
Chris@0
|
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.
|
Chris@0
|
14
|
Chris@0
|
15 The SVN pre-commit hook requires PHP version 5.2.4 or greater due to its use of the vertical whitespace character.
|
Chris@0
|
16
|
Chris@0
|
17 Installation
|
Chris@0
|
18 ------------
|
Chris@0
|
19
|
Chris@0
|
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:
|
Chris@0
|
21
|
Chris@0
|
22 curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
|
Chris@0
|
23 php phpcs.phar -h
|
Chris@0
|
24
|
Chris@0
|
25 curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
|
Chris@0
|
26 php phpcbf.phar -h
|
Chris@0
|
27
|
Chris@0
|
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:
|
Chris@0
|
29
|
Chris@0
|
30 pear install PHP_CodeSniffer
|
Chris@0
|
31
|
Chris@0
|
32 If you prefer using [Composer](http://getcomposer.org/) you can easily install PHP_CodeSniffer system-wide with the following command:
|
Chris@0
|
33
|
Chris@0
|
34 composer global require "squizlabs/php_codesniffer=*"
|
Chris@0
|
35
|
Chris@0
|
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`.
|
Chris@0
|
37
|
Chris@0
|
38 Or alternatively, include a dependency for `squizlabs/php_codesniffer` in your `composer.json` file. For example:
|
Chris@0
|
39
|
Chris@0
|
40 ```json
|
Chris@0
|
41 {
|
Chris@0
|
42 "require-dev": {
|
Chris@0
|
43 "squizlabs/php_codesniffer": "2.*"
|
Chris@0
|
44 }
|
Chris@0
|
45 }
|
Chris@0
|
46 ```
|
Chris@0
|
47
|
Chris@0
|
48 You will then be able to run PHP_CodeSniffer from the vendor bin directory:
|
Chris@0
|
49
|
Chris@0
|
50 ./vendor/bin/phpcs -h
|
Chris@0
|
51 ./vendor/bin/phpcbf -h
|
Chris@0
|
52
|
Chris@0
|
53 You can also download the PHP\_CodeSniffer source and run the `phpcs` and `phpcbf` commands directly from the Git clone:
|
Chris@0
|
54
|
Chris@0
|
55 git clone https://github.com/squizlabs/PHP_CodeSniffer.git
|
Chris@0
|
56 cd PHP_CodeSniffer
|
Chris@0
|
57 php scripts/phpcs -h
|
Chris@0
|
58 php scripts/phpcbf -h
|
Chris@0
|
59
|
Chris@0
|
60 Documentation
|
Chris@0
|
61 -------------
|
Chris@0
|
62
|
Chris@0
|
63 The documentation for PHP\_CodeSniffer is available on the [Github wiki](https://github.com/squizlabs/PHP_CodeSniffer/wiki).
|
Chris@0
|
64
|
Chris@0
|
65 Information about upcoming features and releases is available on the [Squiz Labs blog](http://www.squizlabs.com/php-codesniffer).
|
Chris@0
|
66
|
Chris@0
|
67 Issues
|
Chris@0
|
68 ------
|
Chris@0
|
69
|
Chris@0
|
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).
|
Chris@0
|
71
|
Chris@0
|
72 Contributing
|
Chris@0
|
73 -------------
|
Chris@0
|
74
|
Chris@0
|
75 See [CONTRIBUTING.md](CONTRIBUTING.md) for information.
|