Skip to content

Commit b645be9

Browse files
committed
Add new rules from v8 of Slevomat rules
1 parent 5322f32 commit b645be9

File tree

5 files changed

+46
-5
lines changed

5 files changed

+46
-5
lines changed

CHANGELOG.md

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

3+
## v0.10.x
4+
5+
### v0.10.0
6+
7+
> Requires Slevomat coding standards 8.3 or higher. Which supports PHP 7.2+, support for PHP 7.1 is removed.
8+
9+
**Added rules:**
10+
- SlevomatCodingStandard.Classes.BackedEnumTypeSpacing
11+
- SlevomatCodingStandard.Functions.RequireTrailingCommaInClosureUse
12+
13+
14+
**Added strict rules:**
15+
- SlevomatCodingStandard.Classes.ClassLength
16+
- SlevomatCodingStandard.Files.FileLength
17+
18+
**Improved strict rules:**
19+
- SlevomatCodingStandard.Classes.PropertyDeclaration - set `checkPromoted` & `enableMultipleSpacesBetweenModifiersCheck` to true
20+
21+
**Renamed rules:**
22+
- SlevomatCodingStandard.TypeHints.PropertyTypeHintSpacing into SlevomatCodingStandard.Classes.PropertyDeclaration
23+
24+
See more changes in Slevomat changelog: https://github.com/slevomat/coding-standard/releases/tag/8.0.0
25+
326
## v0.9.x
427

528
### v0.9.0

Rules/Parts/phpcs-slevomat.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
<rule ref="SlevomatCodingStandard.Arrays.TrailingArrayComma"/> <!-- Multiline array must have trailing comma -->
77
<rule ref="SlevomatCodingStandard.Arrays.MultiLineArrayEndBracketPlacement"/>
8+
<rule ref="SlevomatCodingStandard.Classes.BackedEnumTypeSpacing" /> <!-- Checks spacing for type hints for Enums -->
89
<rule ref="SlevomatCodingStandard.Classes.ClassConstantVisibility" /> <!-- Constants must have visibility operator -->
910
<rule ref="SlevomatCodingStandard.Classes.ConstantSpacing"> <!-- Proper spacing for constants with and without docblock -->
1011
<properties>
@@ -63,6 +64,7 @@
6364
<rule ref="SlevomatCodingStandard.Functions.DisallowEmptyFunction"/> <!-- Empty function must have a comment why is empty -->
6465
<rule ref="SlevomatCodingStandard.Functions.RequireMultiLineCall"/> <!-- Can fix when max line length of function call is exceeded -->
6566
<rule ref="SlevomatCodingStandard.Functions.RequireTrailingCommaInCall"/> <!-- PHP 7.3+ add trailing comma in multiline function call -->
67+
<rule ref="SlevomatCodingStandard.Functions.RequireTrailingCommaInClosureUse"/> <!-- PHP 8.0+ add trailing comma in multiline closure use declaration -->
6668
<rule ref="SlevomatCodingStandard.Functions.RequireTrailingCommaInDeclaration"/> <!-- PHP 8.0+ add trailing comma in multiline function declaration -->
6769
<rule ref="SlevomatCodingStandard.Functions.StaticClosure"/> <!-- Use static closure if not using $this -->
6870
<rule ref="SlevomatCodingStandard.Functions.UnusedInheritedVariablePassedToClosure"/> <!-- Check unused variable in use() for closure -->

Rules/phpcs-strict.xml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,13 @@
2727
<!-- Slevomat -->
2828
<rule ref="SlevomatCodingStandard.Arrays.DisallowImplicitArrayCreation"/> <!-- Check using of $a[] without specifying $a is array -->
2929
<rule ref="SlevomatCodingStandard.Arrays.SingleLineArrayWhitespace"/> <!-- Check no empty spaces in array defining in the beginning and end -->
30+
<rule ref="SlevomatCodingStandard.Classes.ClassLength"/> <!-- Check maximum length of class -->
31+
<rule ref="SlevomatCodingStandard.Classes.PropertyDeclaration"> <!-- Correct spacing for property type hints -->
32+
<properties>
33+
<property name="checkPromoted" value="true"></property>
34+
<property name="enableMultipleSpacesBetweenModifiersCheck" value="true"></property>
35+
</properties>
36+
</rule>
3037
<rule ref="SlevomatCodingStandard.Commenting.ForbiddenAnnotations"> <!-- Disable listed annotations -->
3138
<properties>
3239
<property name="forbiddenAnnotations" type="array">
@@ -55,6 +62,7 @@
5562
</properties>
5663
</rule>
5764
<rule ref="SlevomatCodingStandard.ControlStructures.UselessTernaryOperator"/> <!-- Check when ternary operator can be shortened -->
65+
<rule ref="SlevomatCodingStandard.Files.FileLength"/> <!-- Check maximum length of file -->
5866
<rule ref="SlevomatCodingStandard.Functions.RequireSingleLineCall"/> <!-- If function call can be placed on single line, it will force it -->
5967
<rule ref="SlevomatCodingStandard.Operators.DisallowEqualOperators"/> <!-- Disallow use == or != and must use === and !== -->
6068
<rule ref="SlevomatCodingStandard.Operators.DisallowIncrementAndDecrementOperators"/> <!-- Disable use of $i++ must use $i += 1 etc.. -->
@@ -77,7 +85,6 @@
7785
<rule ref="SlevomatCodingStandard.TypeHints.PropertyTypeHint.UselessAnnotation">
7886
<severity>0</severity>
7987
</rule>
80-
<rule ref="SlevomatCodingStandard.TypeHints.PropertyTypeHintSpacing"/> <!-- Correct spacing for property type hints -->
8188
<rule ref="SlevomatCodingStandard.TypeHints.ReturnTypeHint"/> <!-- Correct return type hint -->
8289
<rule ref="SlevomatCodingStandard.TypeHints.ReturnTypeHint.UselessAnnotation">
8390
<severity>0</severity>

SniffsList.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,14 +95,17 @@
9595
- SlevomatCodingStandard.Arrays.MultiLineArrayEndBracketPlacement
9696
- SlevomatCodingStandard.Arrays.SingleLineArrayWhitespace
9797
- SlevomatCodingStandard.Arrays.TrailingArrayComma
98+
- SlevomatCodingStandard.Classes.BackedEnumTypeSpacing
9899
- SlevomatCodingStandard.Classes.ClassConstantVisibility
100+
- SlevomatCodingStandard.Classes.ClassLength
99101
- SlevomatCodingStandard.Classes.ConstantSpacing
100102
- SlevomatCodingStandard.Classes.DisallowLateStaticBindingForConstants
101103
- SlevomatCodingStandard.Classes.DisallowMultiConstantDefinition
102104
- SlevomatCodingStandard.Classes.DisallowMultiPropertyDefinition
103105
- SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces
104106
- SlevomatCodingStandard.Classes.ModernClassNameReference
105107
- SlevomatCodingStandard.Classes.ParentCallSpacing
108+
- SlevomatCodingStandard.Classes.PropertyDeclaration
106109
- SlevomatCodingStandard.Classes.PropertySpacing
107110
- SlevomatCodingStandard.Classes.RequireMultiLineMethodSignature
108111
- SlevomatCodingStandard.Classes.RequireSingleLineMethodSignature
@@ -131,13 +134,15 @@
131134
- SlevomatCodingStandard.Exceptions.DeadCatch
132135
- SlevomatCodingStandard.Exceptions.ReferenceThrowableOnly
133136
- SlevomatCodingStandard.Exceptions.RequireNonCapturingCatch
137+
- SlevomatCodingStandard.Files.FileLength
134138
- SlevomatCodingStandard.Functions.ArrowFunctionDeclaration
135139
- SlevomatCodingStandard.Functions.DisallowEmptyFunction
136140
- SlevomatCodingStandard.Functions.RequireMultiLineCall
137141
- SlevomatCodingStandard.Functions.RequireSingleLineCall
142+
- SlevomatCodingStandard.Functions.RequireTrailingCommaInCall
143+
- SlevomatCodingStandard.Functions.RequireTrailingCommaInClosureUse
138144
- SlevomatCodingStandard.Functions.RequireTrailingCommaInDeclaration
139145
- SlevomatCodingStandard.Functions.StaticClosure
140-
- SlevomatCodingStandard.Functions.RequireTrailingCommaInCall
141146
- SlevomatCodingStandard.Functions.UnusedInheritedVariablePassedToClosure
142147
- SlevomatCodingStandard.Functions.UselessParameterDefaultValue
143148
- SlevomatCodingStandard.Namespaces.AlphabeticallySortedUses
@@ -173,7 +178,6 @@
173178
- SlevomatCodingStandard.TypeHints.ParameterTypeHint
174179
- SlevomatCodingStandard.TypeHints.ParameterTypeHintSpacing
175180
- SlevomatCodingStandard.TypeHints.PropertyTypeHint
176-
- SlevomatCodingStandard.TypeHints.PropertyTypeHintSpacing
177181
- SlevomatCodingStandard.TypeHints.ReturnTypeHint
178182
- SlevomatCodingStandard.TypeHints.UnionTypeHintFormat
179183
- SlevomatCodingStandard.TypeHints.UselessConstantTypeHint

composer.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@
1111
}
1212
],
1313
"require": {
14-
"php": "^7.1 || ^8.0",
15-
"slevomat/coding-standard": "^7.0"
14+
"php": "^7.2 || ^8.0",
15+
"slevomat/coding-standard": "^8.3.0"
16+
},
17+
"config": {
18+
"allow-plugins": {
19+
"dealerdirect/phpcodesniffer-composer-installer": true
20+
}
1621
}
1722
}

0 commit comments

Comments
 (0)