Skip to content

Commit 8075258

Browse files
committed
Add new sniffs from Slevomat Coding standards 6.2
1 parent 969722d commit 8075258

File tree

5 files changed

+67
-3
lines changed

5 files changed

+67
-3
lines changed

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,39 @@
11
# Changelog
22

3+
## v0.5.x
4+
5+
### v0.5.0
6+
7+
> Requires Slevomat coding standards 6.2 or higher
8+
9+
**Added rules:**
10+
- SlevomatCodingStandard.Classes.DisallowMultiConstantDefinition
11+
- SlevomatCodingStandard.Classes.DisallowMultiPropertyDefinition
12+
- SlevomatCodingStandard.Functions.ArrowFunctionDeclaration
13+
- SlevomatCodingStandard.PHP.DisallowDirectMagicInvokeCall
14+
- SlevomatCodingStandard.Variables.DisallowSuperGlobalVariable
15+
- SlevomatCodingStandard.Whitespaces.DuplicateSpaces
16+
17+
---
18+
19+
## v0.4.0 - v0.4.1
20+
21+
**Added rules:**
22+
23+
- SlevomatCodingStandard.Arrays.MultiLineArrayEndBracketPlacement
24+
- SlevomatCodingStandard.Classes.ConstantSpacing
25+
- SlevomatCodingStandard.Classes.ParentCallSpacing
26+
- SlevomatCodingStandard.Classes.PropertySpacing
27+
- SlevomatCodingStandard.Classes.RequireMultiLineMethodSignature
28+
- SlevomatCodingStandard.Classes.RequireSingleLineMethodSignature
29+
- SlevomatCodingStandard.Functions.DisallowEmptyFunction
30+
- SlevomatCodingStandard.Operators.NegationOperatorSpacing
31+
32+
**Removed rule:**
33+
- Squiz.WhiteSpace.MemberVarSpacing
34+
35+
---
36+
337
## v0.3.x
438

539
### v0.3.0

README.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,13 @@ There is no really good documentation for sniffs. I wrote one sentence explanati
130130
- PSR2.Namespaces.NamespaceDeclaration
131131
- PSR2.Namespaces.UseDeclaration
132132

133-
### SlevomatCodingStandard (44 sniffs)
134-
- SlevomatCodingStandard.Arrays.TrailingArrayComma
133+
### SlevomatCodingStandard (62 sniffs)
135134
- SlevomatCodingStandard.Arrays.MultiLineArrayEndBracketPlacement
135+
- SlevomatCodingStandard.Arrays.TrailingArrayComma
136136
- SlevomatCodingStandard.Classes.ConstantSpacing
137137
- SlevomatCodingStandard.Classes.DisallowLateStaticBindingForConstants
138+
- SlevomatCodingStandard.Classes.DisallowMultiConstantDefinition
139+
- SlevomatCodingStandard.Classes.DisallowMultiPropertyDefinition
138140
- SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces
139141
- SlevomatCodingStandard.Classes.ModernClassNameReference
140142
- SlevomatCodingStandard.Classes.ParentCallSpacing
@@ -146,12 +148,14 @@ There is no really good documentation for sniffs. I wrote one sentence explanati
146148
- SlevomatCodingStandard.Commenting.EmptyComment
147149
- SlevomatCodingStandard.Commenting.InlineDocCommentDeclaration
148150
- SlevomatCodingStandard.Commenting.RequireOneLinePropertyDocComment
151+
- SlevomatCodingStandard.Commenting.UselessFunctionDocComment
149152
- SlevomatCodingStandard.ControlStructures.EarlyExit
150153
- SlevomatCodingStandard.ControlStructures.JumpStatementsSpacing
151154
- SlevomatCodingStandard.ControlStructures.LanguageConstructWithParentheses
152155
- SlevomatCodingStandard.ControlStructures.RequireNullCoalesceOperator
153156
- SlevomatCodingStandard.Exceptions.DeadCatch
154157
- SlevomatCodingStandard.Exceptions.ReferenceThrowableOnly
158+
- SlevomatCodingStandard.Functions.ArrowFunctionDeclaration
155159
- SlevomatCodingStandard.Functions.DisallowEmptyFunction
156160
- SlevomatCodingStandard.Functions.StaticClosure
157161
- SlevomatCodingStandard.Functions.TrailingCommaInCall
@@ -170,11 +174,25 @@ There is no really good documentation for sniffs. I wrote one sentence explanati
170174
- SlevomatCodingStandard.Namespaces.UseSpacing
171175
- SlevomatCodingStandard.Namespaces.UselessAlias
172176
- SlevomatCodingStandard.Numbers.DisallowNumericLiteralSeparator
177+
- SlevomatCodingStandard.Operators.DisallowEqualOperators
178+
- SlevomatCodingStandard.Operators.DisallowIncrementAndDecrementOperators
173179
- SlevomatCodingStandard.Operators.NegationOperatorSpacing
180+
- SlevomatCodingStandard.PHP.DisallowDirectMagicInvokeCall
174181
- SlevomatCodingStandard.PHP.OptimizedFunctionsWithoutUnpacking
175182
- SlevomatCodingStandard.PHP.ShortList
176183
- SlevomatCodingStandard.PHP.TypeCast
184+
- SlevomatCodingStandard.TypeHints.DeclareStrictTypes
185+
- SlevomatCodingStandard.TypeHints.LongTypeHints
186+
- SlevomatCodingStandard.TypeHints.NullableTypeForNullDefaultValue
187+
- SlevomatCodingStandard.TypeHints.ParameterTypeHint
188+
- SlevomatCodingStandard.TypeHints.ParameterTypeHintSpacing
189+
- SlevomatCodingStandard.TypeHints.PropertyTypeHint
190+
- SlevomatCodingStandard.TypeHints.PropertyTypeHintSpacing
191+
- SlevomatCodingStandard.TypeHints.ReturnTypeHint
192+
- SlevomatCodingStandard.TypeHints.UselessConstantTypeHint
193+
- SlevomatCodingStandard.Variables.DisallowSuperGlobalVariable
177194
- SlevomatCodingStandard.Variables.UnusedVariable
195+
- SlevomatCodingStandard.Whitespaces.DuplicateSpaces
178196

179197
### Squiz (34 sniffs)
180198
- Squiz.Arrays.ArrayBracketSpacing

Rules/Parts/phpcs-psr.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<exclude name="Generic.WhiteSpace.DisallowTabIndent"/> <!-- Is handled later, someone want tabs indentation -->
66
<exclude name="PSR2.ControlStructures.ControlStructureSpacing.SpacingAfterOpenBrace"/><!-- we want to put first expression of multiline condition on next line -->
77
<exclude name="PSR2.Classes.ClassDeclaration.CloseBraceAfterBody"/> <!-- Handled by Slevomat rules -->
8+
<exclude name="PSR2.Classes.PropertyDeclaration.Multiple"/> <!-- Handled by Slevomat rules -->
89
</rule>
910
<rule ref="PSR12">
1011
<exclude name="PSR12.Traits.UseDeclaration.MultipleImport"/> <!-- Single use can import multiple traits -->

Rules/Parts/phpcs-slevomat.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
</properties>
1212
</rule>
1313
<rule ref="SlevomatCodingStandard.Classes.DisallowLateStaticBindingForConstants"/> <!-- Disable static:: for constants -->
14+
<rule ref="SlevomatCodingStandard.Classes.DisallowMultiConstantDefinition"/> <!-- Cannot be more constants on the same row -->
15+
<rule ref="SlevomatCodingStandard.Classes.DisallowMultiPropertyDefinition"/> <!-- Cannot be more properties on the same row -->
1416
<rule ref="SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces"> <!-- No empty lines in the start and end of class -->
1517
<properties>
1618
<property name="linesCountAfterOpeningBrace" value="0"/>
@@ -45,6 +47,7 @@
4547
<rule ref="SlevomatCodingStandard.ControlStructures.RequireNullCoalesceOperator"/> <!-- Use null coalesce ?? instead of ternary when possible -->
4648
<rule ref="SlevomatCodingStandard.Exceptions.DeadCatch"/> <!-- Check unreachable catch blocks -->
4749
<rule ref="SlevomatCodingStandard.Exceptions.ReferenceThrowableOnly"/> <!-- \Exception should be \Throwable -->
50+
<rule ref="SlevomatCodingStandard.Functions.ArrowFunctionDeclaration"/> <!-- Spacing around PHP 7.4 arrow functions -->
4851
<rule ref="SlevomatCodingStandard.Functions.DisallowEmptyFunction"/> <!-- Empty function must have a comment why is empty -->
4952
<rule ref="SlevomatCodingStandard.Functions.StaticClosure"/> <!-- Use static closure if not using $this -->
5053
<rule ref="SlevomatCodingStandard.Functions.TrailingCommaInCall"/> <!-- PHP 7.3+ add trailing comma in multiline function call -->
@@ -76,8 +79,16 @@
7679
<rule ref="SlevomatCodingStandard.Numbers.DisallowNumericLiteralSeparator"/> <!-- Disable write number with _ between thousands etc -->
7780
<rule ref="SlevomatCodingStandard.Namespaces.UseSpacing"/> <!-- Empty lines around use statements -->
7881
<rule ref="SlevomatCodingStandard.Operators.NegationOperatorSpacing"/> <!-- No spaces after - (minus) when is meant as negative number -->
82+
<rule ref="SlevomatCodingStandard.PHP.DisallowDirectMagicInvokeCall"/> <!-- Cannot call directly __invoke method -->
7983
<rule ref="SlevomatCodingStandard.PHP.OptimizedFunctionsWithoutUnpacking"/> <!-- In listed function ... must not be used -->
8084
<rule ref="SlevomatCodingStandard.PHP.ShortList"/> <!-- Disable list() use [] -->
8185
<rule ref="SlevomatCodingStandard.PHP.TypeCast"/> <!-- Enforces using shorthand cast operators integer -> int -->
86+
<rule ref="SlevomatCodingStandard.Variables.DisallowSuperGlobalVariable"/> <!-- Global variables are prohibited -->
8287
<rule ref="SlevomatCodingStandard.Variables.UnusedVariable"/> <!-- Try to detect unused variables -->
88+
<rule ref="SlevomatCodingStandard.Whitespaces.DuplicateSpaces"> <!-- Detect duplicate spaces except assignment and comments -->
89+
<properties>
90+
<property name="ignoreSpacesBeforeAssignment" value="true"/>
91+
<property name="ignoreSpacesInAnnotation" value="true"/>
92+
</properties>
93+
</rule>
8394
</ruleset>

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
],
1313
"require": {
1414
"php": "^7.1",
15-
"slevomat/coding-standard": "^6.1.1"
15+
"slevomat/coding-standard": "^6.2.0"
1616
}
1717
}

0 commit comments

Comments
 (0)