fnayou/standards

PHP Code Sniffer configurator.

Installs: 3 668

Dependents: 3

Suggesters: 0

Security: 0

Stars: 5

Watchers: 2

Forks: 0

Open Issues: 0

Language:Shell

1.2 2017-01-12 15:48 UTC

This package is auto-updated.

Last update: 2024-04-12 03:22:55 UTC


README

Clear and easy to use PHP Code Sniffer configurator.

Work with symfony, laravel, yii and any PHP based projects.

Installation

via composer and for dev :

$ composer require --dev fnayou/standards

by default, you can run command from vendor/bin/standards, but you can add :

"config": {
    "bin-dir": "bin"
}

and you can run command from bin/standards.

note that you can install globally :

$ 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 :

# .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.

note :

  • 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 :

$ bin/standards src  --standard=PSR2 --ignore=tests

note that this use will override configuration using .standards file if used.

With Symfony

you have to install via composer :

$ composer require --dev fnayou/standards
$ composer require --dev escapestudios/symfony2-coding-standard

and next, create your .standards file :

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.

With Laravel

you have to install via composer :

$ composer require --dev fnayou/standards
$ composer require --dev pragmarx/laravelcs

and next, create your .standards file :

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.

With Yii

you have to install via composer :

$ composer require --dev fnayou/standards
$ composer require --dev yiisoft/yii2-coding-standards

and next, create your .standards file :

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.

Composer script

you can also add a composer script to run command

"scripts": {
    "stdr": "bin/standards"
},

next all you have to do is to run script (can be useful with capistrano or/and jenkins)

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

Todo

  • generate .standards file
  • handle different path for command (phpcs installed globally)

License

License: MIT Please see License File for more information.