Download the PHP package tavy315/php-code-sniffer without Composer
On this page you can find all versions of the php package tavy315/php-code-sniffer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package php-code-sniffer
PHP Code Sniffer
PHP Code Sniffer is a PHP code standard checker/beautifier/fixer tool based on PHP_CodeSniffer and includes custom sniffs used in PHP projects developed by I2ct.
Requirements
PHP Code Sniffer requires PHP 5.6 or later.
Install via Composer
Binaries
Binaries are located in bin
directory but composer installer creates links under
your vendor binary directory depending on your composer configuration.
- phpcs : Checks PHP files against defined coding standard rules.
- phpcbf : Corrects fixable coding standard violations.
- phpcs-pre-commit : Runs phpcs for modified files in git repository.
Pre-Commit Hook
Save the following script as .git/hooks/pre-commit
by replacing COMPOSER_BIN_DIR
as your vendor binary directory name depending on your composer configuration.
Make sure the hook script is executable.
Customize
You can customize configuration by adding a file called phpcs.xml
file into
the root directory of your project. The phpcs.xml file has exactly the same
format as a normal ruleset.xml file, so all the same options are available in
it. You need to define I2ct
rule to import all the I2ct
rules.
Using a custom bootstrap file
You can add custom bootstrap files to be included before beginning the run. Some sniffs need to load classes from your project; so adding a autoload file will allow sniffs to do this.
Imported Standards
PSR2
All PSR2 sniffs except Squiz.WhiteSpace.ControlStructureSpacing
are imported by default.
PSR2.ControlStructures.ElseIfDeclaration.NotAllowed
rule type is considered aserror
instead ofwarning
.
Generic
Imported sniffs:
- All sniffs in
Generic.Formatting
category except:DisallowMultipleStatements
(replaced byI2ct.Formatting.DisallowMultipleStatements
)NoSpaceAfterCast
SpaceAfterNot
Generic.Arrays.DisallowLongArraySyntax
Squiz
Imported sniffs:
Squiz.Commenting.DocCommentAlignment
Squiz.Commenting.InlineComment
InvalidEndChar
rule type is considered aswarning
instead oferror
.
Squiz.WhiteSpace.SuperfluousWhitespace
Squiz.WhiteSpace.OperatorSpacing
Custom Sniffs
I2ct.Arrays.ArrayDeclaration
- Extended from
Squiz.Arrays.ArrayDeclaration
. - Arranged array element indents by start position of the first (declaration) line.
- Number of spaces before array elements is increased from 1 to 4.
- Removed rules:
NoKeySpecified
KeySpecified
MultiLineNotAllowed
NoCommaAfterLast
NoComma
I2ct.Commenting.DocComment
- Extended from
Generic.Commenting.DocComment
. - Ignored
MissingShort
rule for PHPUnit test class methods [1]. - Changed
MissingShort
rule type fromerror
towarning
. - Removed rules for comments with long descriptions:
SpacingBetween
LongNotCapital
SpacingBeforeTags
ParamGroup
NonParamGroup
SpacingAfterTagGroup
TagValueIndent
ParamNotFirst
TagsNotGrouped
I2ct.Commenting.FunctionComment
- Extended from
PEAR.Commenting.FunctionComment
. - Added PHPUnit test class control for methods without doc comment [1].
- Added
{@inheritdoc}
validation for overrided methods [1]. - Removed
MissingParamComment
,MissingReturn
,SpacingAfterParamType
andSpacingAfterParamName
rules. - Ignored
MissingParamTag
rule for PHPUnit test class methods [1].
I2ct.Commenting.VariableComment
- Extended from
Squiz.Commenting.VariableComment
. - Added
bool
andint
into allowed variable types.
I2ct.Formatting.DisallowMultipleStatements
- Extended from
Generic.Formatting.DisallowMultipleStatements
. - Fixed adding 2 blank lines when applying
SameLine
fixer withSquiz.Functions.MultiLineFunctionDeclaration.ContentAfterBrace
fixer together.
I2ct.Strings.ConcatenationSpacing
This sniff has two rules and fixes.
PaddingFound
: There must be only one space between the concatenation operator (.) and the strings being concatenated.NotAligned
: Multiline string concatenations must be aligned.
I2ct.WhiteSpace.FunctionSpacing
- Extended from
Squiz.WhiteSpace.FunctionSpacing
. - Expected no blank lines before the method which is the first defined element of a class.
- Expected no blank lines after the method which is the last defined element of a class.
- Fixed fixing spaces before method definitions.
I2ct.WhiteSpace.MemberVarSpacing
- Extended from
Squiz.WhiteSpace.MemberVarSpacing
. - Expected no blank lines before the property which is the first defined element of a class.
- Fixed fixing spaces before property definitions.
Development
Live Testing
You can test any modifications by running phpcbf.php and
phpcs-pre-commit.php scripts under scripts
directory.
Building Binaries
Run the command below to re-build binaries:
PHP_CodeSniffer Dependency
Current version is built on PHP_CodeSniffer 2.8.1
which is locked in composer.json file if required and
run composer update
command, then commit the modified PHP_CodeSniffer version may
break some of PHP_CodeSniffer before updating.
[1] A class loader is required (eg. via a bootstrap file),
otherwise a warning (Internal.I2ct.NeedClassLoader
) will be generated.
You can override this rule in phpcs.xml
file in your project to prevent warnings.
↩
License Notices
PHP_CodeSniffer is licensed under the BSD 3-Clause license.