cakephp/cakephp-codesniffer

CakePHP CodeSniffer Standards

Installs: 2 548 355

Dependents: 483

Suggesters: 59

Security: 0

Stars: 207

Watchers: 43

Forks: 83

Open Issues: 1

Type:phpcodesniffer-standard

4.0.1 2020-01-13 22:00 UTC

README

Build Status Coverage Status Total Downloads Latest Stable Version Software License

This code works with squizlabs/php_codesniffer and checks code against the coding standards used in CakePHP.

This sniffer package follows PSR-2 completely and ships with a lot of additional fixers on top.

List of included sniffs

⚠️ The master branch contains codesniffer rules that are based on the PSR2 standard. The next branch is for CakePHP 4.0+ and requires PHP 7.1+. If you want to check against the historical CakePHP coding standard use any of the 1.x releases.

Which version should I use?

Sniffer version CakePHP version PHP min
1.x 2.x PHP 5.4
2.x 3.x PHP 5.5
3.x 3.x PHP 5.6
4.x 4.x PHP 7.1

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.

Usage

⚠️ Warning when these sniffs are installed with composer, ensure that you have configured the CodeSniffer 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=ctp,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