Skip to content

Commit 31efdbc

Browse files
committed
Add more rules and update to Slevomat 8.11
1 parent f417fd5 commit 31efdbc

File tree

4 files changed

+32
-1
lines changed

4 files changed

+32
-1
lines changed

CHANGELOG.md

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

3+
## v0.12.x
4+
5+
### v0.12.0
6+
7+
**Added rules:**
8+
- SlevomatCodingStandard.Classes.EnumCaseSpacing
9+
- SlevomatCodingStandard.Classes.DisallowStringExpressionPropertyFetch
10+
- SlevomatCodingStandard.Classes.RequireSelfReference
11+
- SlevomatCodingStandard.Commenting.AnnotationName
12+
- SlevomatCodingStandard.ControlStructures.DisallowTrailingMultiLineTernaryOperator
13+
- SlevomatCodingStandard.Strings.DisallowVariableParsing
14+
- SlevomatCodingStandard.Variables.DisallowVariableVariable
15+
316
## v0.11.x
417

518
### v0.11.0

Rules/Parts/phpcs-slevomat.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,19 @@
1515
<rule ref="SlevomatCodingStandard.Classes.DisallowLateStaticBindingForConstants"/> <!-- Disable static:: for constants -->
1616
<rule ref="SlevomatCodingStandard.Classes.DisallowMultiConstantDefinition"/> <!-- Cannot be more constants on the same row -->
1717
<rule ref="SlevomatCodingStandard.Classes.DisallowMultiPropertyDefinition"/> <!-- Cannot be more properties on the same row -->
18+
<rule ref="SlevomatCodingStandard.Classes.DisallowStringExpressionPropertyFetch"/> <!-- Simplify direct property name and not inside {} -->
1819
<rule ref="SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces"> <!-- No empty lines in the start and end of class -->
1920
<properties>
2021
<property name="linesCountAfterOpeningBrace" value="0"/>
2122
<property name="linesCountBeforeClosingBrace" value="0"/>
2223
</properties>
2324
</rule>
25+
<rule ref="SlevomatCodingStandard.Classes.EnumCaseSpacing"/> <!-- Spacing between enum cases -->
2426
<rule ref="SlevomatCodingStandard.Classes.ModernClassNameReference"/> <!-- Replace old get_called_class() etc via modern constructs -->
2527
<rule ref="SlevomatCodingStandard.Classes.ParentCallSpacing"/> <!-- Enforce empty lines around parent method call -->
2628
<rule ref="SlevomatCodingStandard.Classes.PropertySpacing"/> <!-- Proper spacing for property with and without docblock -->
2729
<rule ref="SlevomatCodingStandard.Classes.RequireMultiLineMethodSignature"/> <!-- Method signature should be multiline if exceed 120 chars -->
30+
<rule ref="SlevomatCodingStandard.Classes.RequireSelfReference"/> <!-- Use self instead of Class name -->
2831
<rule ref="SlevomatCodingStandard.Classes.RequireSingleLineMethodSignature"/> <!-- Method signature should be single line if does not exceed 120 chars -->
2932
<rule ref="SlevomatCodingStandard.Classes.TraitUseSpacing"> <!-- Spacing around use traits -->
3033
<properties>
@@ -33,11 +36,13 @@
3336
</properties>
3437
</rule>
3538
<rule ref="SlevomatCodingStandard.Classes.UselessLateStaticBinding"/> <!-- Replace static:: into self:: when class/method is final -->
39+
<rule ref="SlevomatCodingStandard.Commenting.AnnotationName"/> <!-- Checks correct annotation spelling -->
3640
<rule ref="SlevomatCodingStandard.Commenting.DeprecatedAnnotationDeclaration"/> <!-- @deprecated has to have explanation -->
3741
<rule ref="SlevomatCodingStandard.Commenting.EmptyComment"/> <!-- Disable empty comments -->
3842
<rule ref="SlevomatCodingStandard.Commenting.InlineDocCommentDeclaration"/> <!-- Check valid inline @var doc -->
3943
<rule ref="SlevomatCodingStandard.Commenting.RequireOneLinePropertyDocComment"/> <!-- Use single line comment for property -->
4044
<rule ref="SlevomatCodingStandard.ControlStructures.DisallowContinueWithoutIntegerOperandInSwitch"/> <!-- Name explains it well -->
45+
<rule ref="SlevomatCodingStandard.ControlStructures.DisallowTrailingMultiLineTernaryOperator"/> <!-- ? and : must be on the beginning of line -->
4146
<rule ref="SlevomatCodingStandard.ControlStructures.EarlyExit"> <!-- Check useless nesting if return or exit is in scope -->
4247
<properties>
4348
<property name="ignoreStandaloneIfInScope" value="true"/>
@@ -109,7 +114,13 @@
109114
<property name="ignoreComplexTernaryConditions" value="true"/>
110115
</properties>
111116
</rule>
117+
<rule ref="SlevomatCodingStandard.Strings.DisallowVariableParsing"> <!-- How variables can be reference inside double quoted string -->
118+
<properties>
119+
<property name="disallowSimpleSyntax" value="true"/>
120+
</properties>
121+
</rule>
112122
<rule ref="SlevomatCodingStandard.Variables.DisallowSuperGlobalVariable"/> <!-- Global variables are prohibited -->
123+
<rule ref="SlevomatCodingStandard.Variables.DisallowVariableVariable"/> <!-- Disallow double dollar etc -->
113124
<rule ref="SlevomatCodingStandard.Variables.DuplicateAssignmentToVariable"/> <!-- Check duplicate assignment into same variable -->
114125
<rule ref="SlevomatCodingStandard.Variables.UnusedVariable"/> <!-- Try to detect unused variables -->
115126
<rule ref="SlevomatCodingStandard.Whitespaces.DuplicateSpaces"> <!-- Detect duplicate spaces except assignment and comments -->

SniffsList.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,15 +102,19 @@
102102
- SlevomatCodingStandard.Classes.DisallowLateStaticBindingForConstants
103103
- SlevomatCodingStandard.Classes.DisallowMultiConstantDefinition
104104
- SlevomatCodingStandard.Classes.DisallowMultiPropertyDefinition
105+
- SlevomatCodingStandard.Classes.DisallowStringExpressionPropertyFetch
105106
- SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces
107+
- SlevomatCodingStandard.Classes.EnumCaseSpacing
106108
- SlevomatCodingStandard.Classes.ModernClassNameReference
107109
- SlevomatCodingStandard.Classes.ParentCallSpacing
108110
- SlevomatCodingStandard.Classes.PropertyDeclaration
109111
- SlevomatCodingStandard.Classes.PropertySpacing
110112
- SlevomatCodingStandard.Classes.RequireMultiLineMethodSignature
113+
- SlevomatCodingStandard.Classes.RequireSelfReference
111114
- SlevomatCodingStandard.Classes.RequireSingleLineMethodSignature
112115
- SlevomatCodingStandard.Classes.TraitUseSpacing
113116
- SlevomatCodingStandard.Classes.UselessLateStaticBinding
117+
- SlevomatCodingStandard.Commenting.AnnotationName
114118
- SlevomatCodingStandard.Commenting.DeprecatedAnnotationDeclaration
115119
- SlevomatCodingStandard.Commenting.EmptyComment
116120
- SlevomatCodingStandard.Commenting.ForbiddenAnnotations
@@ -119,6 +123,7 @@
119123
- SlevomatCodingStandard.Commenting.UselessFunctionDocComment
120124
- SlevomatCodingStandard.ControlStructures.AssignmentInCondition
121125
- SlevomatCodingStandard.ControlStructures.DisallowContinueWithoutIntegerOperandInSwitch
126+
- SlevomatCodingStandard.ControlStructures.DisallowTrailingMultiLineTernaryOperator
122127
- SlevomatCodingStandard.ControlStructures.EarlyExit
123128
- SlevomatCodingStandard.ControlStructures.JumpStatementsSpacing
124129
- SlevomatCodingStandard.ControlStructures.LanguageConstructWithParentheses
@@ -171,6 +176,7 @@
171176
- SlevomatCodingStandard.PHP.TypeCast
172177
- SlevomatCodingStandard.PHP.UselessSemicolon
173178
- SlevomatCodingStandard.PHP.UselessParentheses
179+
- SlevomatCodingStandard.Strings.DisallowVariableParsing
174180
- SlevomatCodingStandard.TypeHints.DeclareStrictTypes
175181
- SlevomatCodingStandard.TypeHints.LongTypeHints
176182
- SlevomatCodingStandard.TypeHints.NullableTypeForNullDefaultValue
@@ -182,6 +188,7 @@
182188
- SlevomatCodingStandard.TypeHints.UnionTypeHintFormat
183189
- SlevomatCodingStandard.TypeHints.UselessConstantTypeHint
184190
- SlevomatCodingStandard.Variables.DisallowSuperGlobalVariable
191+
- SlevomatCodingStandard.Variables.DisallowVariableVariable
185192
- SlevomatCodingStandard.Variables.DuplicateAssignmentToVariable
186193
- SlevomatCodingStandard.Variables.UnusedVariable
187194
- SlevomatCodingStandard.Whitespaces.DuplicateSpaces

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
],
1313
"require": {
1414
"php": "^7.2 || ^8.0",
15-
"slevomat/coding-standard": "^8.3.0"
15+
"slevomat/coding-standard": "^8.11.0"
1616
},
1717
"config": {
1818
"allow-plugins": {

0 commit comments

Comments
 (0)