Corpus Coding Standard for PHP_CodeSniffer.
- dealerdirect/phpcodesniffer-composer-installer: *
- squizlabs/php_codesniffer: *
- slevomat/coding-standard: ^8.14
- php: >=7.4
Install the latest version with:
composer require --dev 'corpus/coding-standard'
Sniff: Corpus.ControlStructures.ClosingBraceNewline
Ensure that all closing curly brackets are followed by a blank line.
Example:
if( $foo ) {
echo $bar;
}
echo $baz;
Becomes:
if( $foo ) {
echo $bar;
}
echo $baz;
Sniff: Corpus.ControlStructures.OpeningOneTrueBrace
Ensure that the K&R "One True Brace" style is used.
Example:
class Foo
{
public function bar()
{
echo "bbq";
}
}
Becomes:
class Foo {
public function bar() {
echo "bbq";
}
}
Sniff: Corpus.General.BinaryOperationNewline
Ensure that in multiline logical statements &&
and ||
lead lines rather than trail.
Example:
if(
$foo &&
$bar &&
$baz
)}
Becomes:
if(
$foo
&& $bar
&& $baz
)}
Sniff: Corpus.General.ReturnTrailingNewline
Ensure that no blank lines separate return statements and following curly braces.
Example:
if( $foo == true ){
return 1;
}
Becomes:
if( $foo == true ){
return 1;
}
Sniff: Corpus.Methods.ClosureSpacing
Force whitespace between function/fn keyword and opening paren on closures.
Example:
$foo = function ( string $foo ) { echo $foo; };
$bar = fn ( int $bar ) => $bar + 1;
Becomes:
$foo = function( string $foo ) { echo $foo; };
$bar = fn( int $bar ) => $bar + 1;
Sniff: Corpus.Methods.MethodParameterFormatting
Set a maximum length for function arguments. Fix by breaking into multiple lines.
Example:
function Foo( ClosingBraceNewlineSniffTest $closingBraceNewlineSniffTest, OpeningOneTrueBraceSniffTest $openingOneTrueBraceSniffTest ) { }
Becomes:
function Foo(
ClosingBraceNewlineSniffTest $closingBraceNewlineSniffTest,
OpeningOneTrueBraceSniffTest $openingOneTrueBraceSniffTest
) { }
<?php
namespace Corpus\Sniffs\Methods;
class MethodParameterFormattingSniff {
/**
* Maximum line character length after which to break function arguments into newlines
*/
public $maxLength = 130;
}
- Generic.ControlStructures.InlineControlStructure
- Generic.WhiteSpace.DisallowSpaceIndent
- Generic.Files.ByteOrderMark
- Generic.Files.LineEndings
- Generic.PHP.LowerCaseConstant
- Generic.PHP.LowerCaseKeyword
- Generic.PHP.DeprecatedFunctions
- Generic.NamingConventions.UpperCaseConstantName
- Generic.Formatting.NoSpaceAfterCast
- Generic.Functions.OpeningFunctionBraceKernighanRitchie
- PSR2.Files.ClosingTag
- PSR2.Classes.PropertyDeclaration
- PEAR.Functions.ValidDefaultValue
- Squiz.Classes.LowercaseClassKeywords
- Squiz.Classes.SelfMemberReference
- Squiz.Scope.MethodScope
- SlevomatCodingStandard.Namespaces.UnusedUses
- SlevomatCodingStandard.Namespaces.DisallowGroupUse
- SlevomatCodingStandard.Namespaces.MultipleUsesPerLine
- SlevomatCodingStandard.Namespaces.UseDoesNotStartWithBackslash
- SlevomatCodingStandard.Classes.TraitUseDeclaration
- SlevomatCodingStandard.Functions.UnusedInheritedVariablePassedToClosure
- SlevomatCodingStandard.Functions.UselessParameterDefaultValue
- SlevomatCodingStandard.Arrays.DisallowImplicitArrayCreation
- SlevomatCodingStandard.ControlStructures.DisallowContinueWithoutIntegerOperandInSwitch
- SlevomatCodingStandard.Namespaces.UseFromSameNamespace
- SlevomatCodingStandard.Arrays.TrailingArrayComma
- SlevomatCodingStandard.ControlStructures.RequireNullCoalesceOperator
- SlevomatCodingStandard.ControlStructures.RequireShortTernaryOperator
- SlevomatCodingStandard.ControlStructures.UselessIfConditionWithReturn
- SlevomatCodingStandard.ControlStructures.UselessTernaryOperator
- SlevomatCodingStandard.Namespaces.AlphabeticallySortedUses
- SlevomatCodingStandard.Namespaces.UselessAlias
- SlevomatCodingStandard.PHP.UselessSemicolon
- SlevomatCodingStandard.TypeHints.NullableTypeForNullDefaultValue
- SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces
- SlevomatCodingStandard.Variables.UselessVariable
- SlevomatCodingStandard.Operators.SpreadOperatorSpacing
- SlevomatCodingStandard.Classes.ParentCallSpacing
- SlevomatCodingStandard.ControlStructures.NewWithoutParentheses
- SlevomatCodingStandard.Commenting.UselessFunctionDocComment
- SlevomatCodingStandard.Classes.RequireSelfReference
- SlevomatCodingStandard.ControlStructures.NewWithoutParentheses