CakePHP Code Sniffer
This code works with squizlabs/php_codesniffer and checks code against the coding standards used in CakePHP.
This sniffer package follows PSR-12 completely and ships with a lot of additional fixers on top.
Which version should I use?
See version map.
Installation
You should install this codesniffer with composer:
composer require --dev cakephp/cakephp-codesniffer
vendor/bin/phpcs --config-set installed_paths /path/to/your/app/vendor/cakephp/cakephp-codesniffer
The second command lets phpcs
know where to find your new sniffs. Ensure that
you do not overwrite any existing installed_paths
value. Alternatively, install
the dealerdirect/phpcodesniffer-composer-installer
composer package which will handle configuring the phpcs
installed_paths
for you.
Usage
installed_paths
setting.
Depending on how you installed the code sniffer changes how you run it. If you have installed phpcs, and this package with PEAR, you can do the following:
vendor/bin/phpcs --colors -p -s --standard=CakePHP /path/to/code/
You can also copy the phpcs.xml.dist
file to your project's root folder as phpcs.xml
.
This file will import the CakePHP Coding Standard. From there you can edit it to
include/exclude as needed. With this file in place, you can run:
vendor/bin/phpcs --colors -p -s /path/to/code/
If you are using Composer to manage your CakePHP project, you can also add the below to your composer.json file:
{
"scripts": {
"cs-check": "vendor/bin/phpcs --colors -p -s --extensions=php src/ tests/"
}
}
Running Tests
You can run tests with composer. Because of how PHPCS test suites work, there is
additional configuration state in phpcs
that is required.
composer test
Once this has been done once, you can use phpunit --filter CakePHP
to run the
tests for the rules in this repository.
Contributing
If you'd like to contribute to the Code Sniffer, you can fork the project add features and send pull requests.
Releasing CakePHP Code Sniffer
- Create a signed tag
- Write the changelog in the tag commit