Standards
Clear and easy to use PHP Code Sniffer configurator., (*1)
Work with symfony, laravel, yii and any PHP based projects., (*2)
Installation
via composer
and for dev :, (*3)
$ composer require --dev fnayou/standards
by default, you can run command from vendor/bin/standards
, but you can add :, (*4)
"config": {
"bin-dir": "bin"
}
and you can run command from bin/standards
., (*5)
note that you can install globally :, (*6)
$ composer global require fnayou/standards
Usage
Using .standards configuration file
all you have to do is to create a dot file named .standards
in which we will have all our parameters :, (*7)
# .standards file content
# can be phpcs or phpcbf (optional - default: phpcs)
command=phpcs
# path used to load standards (optional)
#standard-path=path/to/phpcs/standards/
# standard used by PHP CodeSniffer (required)
standard=PSR2
# verbose/debug mode (optional - default: false)
#verbose=true
# allowed files and directories (optional)
src/
# ignored files and directories (optional)
!tests
now all you have to do is to run command bin\standards
., (*8)
note :, (*9)
- all ignored files or directory should be prefixed with
!
like !test/
or !test.php
- all ignored and allowed files/directories should be written one by line like
# allowed files/directories
src/
file.php
# ignored files/directories
!tests/
!test.php
Running command with arguments
you can run command with phpcs arguments :, (*10)
$ bin/standards src --standard=PSR2 --ignore=tests
note that this use will override configuration using .standards
file if used., (*11)
With Symfony
you have to install via composer
:, (*12)
$ composer require --dev fnayou/standards
$ composer require --dev escapestudios/symfony2-coding-standard
and next, create your .standards
file :, (*13)
standard=vendor/escapestudios/symfony2-coding-standard/Symfony2
# white list of files and directories
src/
# black list of files and directories
!tests
now, all you have to do is to run command bin\standards
., (*14)
With Laravel
you have to install via composer
:, (*15)
$ composer require --dev fnayou/standards
$ composer require --dev pragmarx/laravelcs
and next, create your .standards
file :, (*16)
standard=vendor/pragmarx/laravelcs/Standards/Laravel
# white list of files and directories
src/
# black list of files and directories
!tests
now, all you have to do is to run command bin\standards
., (*17)
With Yii
you have to install via composer
:, (*18)
$ composer require --dev fnayou/standards
$ composer require --dev yiisoft/yii2-coding-standards
and next, create your .standards
file :, (*19)
standard=vendor/yiisoft/yii2-coding-standards/Yii2
# white list of files and directories
src/
# black list of files and directories
!tests
now, all you have to do is to run command bin\standards
., (*20)
Composer script
you can also add a composer script to run command, (*21)
"scripts": {
"stdr": "bin/standards"
},
next all you have to do is to run script (can be useful with capistrano
or/and jenkins
), (*22)
composer stdr
Credits
Notes
I have forked the wonderful M6Web Coke because the company where I'm working
find that coke and sniff is not so conventional :( and they refused to used it.
And honestly I don't like blue in the output :P, (*23)
Todo
- generate
.standards
file
- handle different path for command (
phpcs
installed globally)
License
Please see License File for more information., (*24)