Easy
PHP 5.6 or higher.
Easiest and best option via composer. Just add to composer.json
"require-dev": {
"sercode/coding-standard-101": "~0.1"
},
or from command line
$ composer require sercode/coding-standard-101 --dev
Run with Code sniffer for check code:
vendor/bin/phpcs src --standard=vendor/sercode/coding-standard-101/src/ruleset.xml -p
Run this for fix all errors in project:
vendor/bin/phpcbf src --standard=vendor/sercode/coding-standard-101/src/ruleset.xml -p
That's all for really base usage! This check all files in your project against default ruleset.xml
In case you don't want to use Php_CodeSniffer manually for every change in the code you make, you can add pre-commit hook via composer.json
.
Every time you try to commit, Php_CodeSniffer will run on changed .php
files for actual commit only.
"scripts": {
"cs-install-prehook": [
"SerCode\\CodingStandard101\\Composer\\ScriptHandler::addPhpCsToPreCommitHook"
]
}
After you run composer update or composer install just run:
composer cs-install-prehook
For proper use of all features you have to run this script
If you don't change path to ruleset.xml
(see bellow), you don't need to run this script again
Just add some code:
"scripts": {
"post-install-cmd": [
"@post-update-cmd"
],
"post-update-cmd": [
"@cs-install-prehook"
],
"cs-install-prehook": [
"SerCode\\CodingStandard101\\Composer\\ScriptHandler::addPhpCsToPreCommitHook"
]
}
This secure install git commit prehook every time when you run composer update or composer install.
First case is starts after you run composer install, second when composer update and install prehook with path to ruleset.xml
. For more information see below.
If you want commit without running codesniffer, just add --no-verify
to commit command:
git commit -m "TEST" --no-verify
To composer.json
put:
"scripts": {
"fix-cs-commit": [
"SerCode\\CodingStandard101\\Composer\\ScriptHandler::fixCsCommit"
]
}
and run
composer fix-cs-commit
(will be added)
You can create own rulest.
Create confgi file .csStandard
with path to ruleset, inport differetn packages with codding
standards and use them in your ruleset.xml
.
....
add to composer.json
to section require-dev "sercode/coding-standard-101": "^0.1"
and add block
"scripts": {
"cs-install-prehook": [
"SerCode\\CodingStandard101\\Composer\\ScriptHandler::addPhpCsToPreCommitHook"
],
"fix-cs-commit": [
"SerCode\\CodingStandard101\\Composer\\ScriptHandler::fixCsCommit"
]
}
in root of project create file .csStandard
with content
[ruleset]
0 = phpcs-ruleset.xml
run composer cs-install-prehook
for install
for fix commitig files run script
composer fix-cs-commit
** Files for fix (or check) MUST be in stage. That means dont commit with adding all files by -a
option (git commit -a -m "commit message") **
Inspired by https://github.com/DeprecatedPackages/CodingStandard