Skip to content

Commit

Permalink
Add more rules and update to Slevomat 8.11
Browse files Browse the repository at this point in the history
  • Loading branch information
arxeiss committed May 14, 2023
1 parent f417fd5 commit 31efdbc
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 1 deletion.
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## v0.12.x

### v0.12.0

**Added rules:**
- SlevomatCodingStandard.Classes.EnumCaseSpacing
- SlevomatCodingStandard.Classes.DisallowStringExpressionPropertyFetch
- SlevomatCodingStandard.Classes.RequireSelfReference
- SlevomatCodingStandard.Commenting.AnnotationName
- SlevomatCodingStandard.ControlStructures.DisallowTrailingMultiLineTernaryOperator
- SlevomatCodingStandard.Strings.DisallowVariableParsing
- SlevomatCodingStandard.Variables.DisallowVariableVariable

## v0.11.x

### v0.11.0
Expand Down
11 changes: 11 additions & 0 deletions Rules/Parts/phpcs-slevomat.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,19 @@
<rule ref="SlevomatCodingStandard.Classes.DisallowLateStaticBindingForConstants"/> <!-- Disable static:: for constants -->
<rule ref="SlevomatCodingStandard.Classes.DisallowMultiConstantDefinition"/> <!-- Cannot be more constants on the same row -->
<rule ref="SlevomatCodingStandard.Classes.DisallowMultiPropertyDefinition"/> <!-- Cannot be more properties on the same row -->
<rule ref="SlevomatCodingStandard.Classes.DisallowStringExpressionPropertyFetch"/> <!-- Simplify direct property name and not inside {} -->
<rule ref="SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces"> <!-- No empty lines in the start and end of class -->
<properties>
<property name="linesCountAfterOpeningBrace" value="0"/>
<property name="linesCountBeforeClosingBrace" value="0"/>
</properties>
</rule>
<rule ref="SlevomatCodingStandard.Classes.EnumCaseSpacing"/> <!-- Spacing between enum cases -->
<rule ref="SlevomatCodingStandard.Classes.ModernClassNameReference"/> <!-- Replace old get_called_class() etc via modern constructs -->
<rule ref="SlevomatCodingStandard.Classes.ParentCallSpacing"/> <!-- Enforce empty lines around parent method call -->
<rule ref="SlevomatCodingStandard.Classes.PropertySpacing"/> <!-- Proper spacing for property with and without docblock -->
<rule ref="SlevomatCodingStandard.Classes.RequireMultiLineMethodSignature"/> <!-- Method signature should be multiline if exceed 120 chars -->
<rule ref="SlevomatCodingStandard.Classes.RequireSelfReference"/> <!-- Use self instead of Class name -->
<rule ref="SlevomatCodingStandard.Classes.RequireSingleLineMethodSignature"/> <!-- Method signature should be single line if does not exceed 120 chars -->
<rule ref="SlevomatCodingStandard.Classes.TraitUseSpacing"> <!-- Spacing around use traits -->
<properties>
Expand All @@ -33,11 +36,13 @@
</properties>
</rule>
<rule ref="SlevomatCodingStandard.Classes.UselessLateStaticBinding"/> <!-- Replace static:: into self:: when class/method is final -->
<rule ref="SlevomatCodingStandard.Commenting.AnnotationName"/> <!-- Checks correct annotation spelling -->
<rule ref="SlevomatCodingStandard.Commenting.DeprecatedAnnotationDeclaration"/> <!-- @deprecated has to have explanation -->
<rule ref="SlevomatCodingStandard.Commenting.EmptyComment"/> <!-- Disable empty comments -->
<rule ref="SlevomatCodingStandard.Commenting.InlineDocCommentDeclaration"/> <!-- Check valid inline @var doc -->
<rule ref="SlevomatCodingStandard.Commenting.RequireOneLinePropertyDocComment"/> <!-- Use single line comment for property -->
<rule ref="SlevomatCodingStandard.ControlStructures.DisallowContinueWithoutIntegerOperandInSwitch"/> <!-- Name explains it well -->
<rule ref="SlevomatCodingStandard.ControlStructures.DisallowTrailingMultiLineTernaryOperator"/> <!-- ? and : must be on the beginning of line -->
<rule ref="SlevomatCodingStandard.ControlStructures.EarlyExit"> <!-- Check useless nesting if return or exit is in scope -->
<properties>
<property name="ignoreStandaloneIfInScope" value="true"/>
Expand Down Expand Up @@ -109,7 +114,13 @@
<property name="ignoreComplexTernaryConditions" value="true"/>
</properties>
</rule>
<rule ref="SlevomatCodingStandard.Strings.DisallowVariableParsing"> <!-- How variables can be reference inside double quoted string -->
<properties>
<property name="disallowSimpleSyntax" value="true"/>
</properties>
</rule>
<rule ref="SlevomatCodingStandard.Variables.DisallowSuperGlobalVariable"/> <!-- Global variables are prohibited -->
<rule ref="SlevomatCodingStandard.Variables.DisallowVariableVariable"/> <!-- Disallow double dollar etc -->
<rule ref="SlevomatCodingStandard.Variables.DuplicateAssignmentToVariable"/> <!-- Check duplicate assignment into same variable -->
<rule ref="SlevomatCodingStandard.Variables.UnusedVariable"/> <!-- Try to detect unused variables -->
<rule ref="SlevomatCodingStandard.Whitespaces.DuplicateSpaces"> <!-- Detect duplicate spaces except assignment and comments -->
Expand Down
7 changes: 7 additions & 0 deletions SniffsList.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,15 +102,19 @@
- SlevomatCodingStandard.Classes.DisallowLateStaticBindingForConstants
- SlevomatCodingStandard.Classes.DisallowMultiConstantDefinition
- SlevomatCodingStandard.Classes.DisallowMultiPropertyDefinition
- SlevomatCodingStandard.Classes.DisallowStringExpressionPropertyFetch
- SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces
- SlevomatCodingStandard.Classes.EnumCaseSpacing
- SlevomatCodingStandard.Classes.ModernClassNameReference
- SlevomatCodingStandard.Classes.ParentCallSpacing
- SlevomatCodingStandard.Classes.PropertyDeclaration
- SlevomatCodingStandard.Classes.PropertySpacing
- SlevomatCodingStandard.Classes.RequireMultiLineMethodSignature
- SlevomatCodingStandard.Classes.RequireSelfReference
- SlevomatCodingStandard.Classes.RequireSingleLineMethodSignature
- SlevomatCodingStandard.Classes.TraitUseSpacing
- SlevomatCodingStandard.Classes.UselessLateStaticBinding
- SlevomatCodingStandard.Commenting.AnnotationName
- SlevomatCodingStandard.Commenting.DeprecatedAnnotationDeclaration
- SlevomatCodingStandard.Commenting.EmptyComment
- SlevomatCodingStandard.Commenting.ForbiddenAnnotations
Expand All @@ -119,6 +123,7 @@
- SlevomatCodingStandard.Commenting.UselessFunctionDocComment
- SlevomatCodingStandard.ControlStructures.AssignmentInCondition
- SlevomatCodingStandard.ControlStructures.DisallowContinueWithoutIntegerOperandInSwitch
- SlevomatCodingStandard.ControlStructures.DisallowTrailingMultiLineTernaryOperator
- SlevomatCodingStandard.ControlStructures.EarlyExit
- SlevomatCodingStandard.ControlStructures.JumpStatementsSpacing
- SlevomatCodingStandard.ControlStructures.LanguageConstructWithParentheses
Expand Down Expand Up @@ -171,6 +176,7 @@
- SlevomatCodingStandard.PHP.TypeCast
- SlevomatCodingStandard.PHP.UselessSemicolon
- SlevomatCodingStandard.PHP.UselessParentheses
- SlevomatCodingStandard.Strings.DisallowVariableParsing
- SlevomatCodingStandard.TypeHints.DeclareStrictTypes
- SlevomatCodingStandard.TypeHints.LongTypeHints
- SlevomatCodingStandard.TypeHints.NullableTypeForNullDefaultValue
Expand All @@ -182,6 +188,7 @@
- SlevomatCodingStandard.TypeHints.UnionTypeHintFormat
- SlevomatCodingStandard.TypeHints.UselessConstantTypeHint
- SlevomatCodingStandard.Variables.DisallowSuperGlobalVariable
- SlevomatCodingStandard.Variables.DisallowVariableVariable
- SlevomatCodingStandard.Variables.DuplicateAssignmentToVariable
- SlevomatCodingStandard.Variables.UnusedVariable
- SlevomatCodingStandard.Whitespaces.DuplicateSpaces
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
],
"require": {
"php": "^7.2 || ^8.0",
"slevomat/coding-standard": "^8.3.0"
"slevomat/coding-standard": "^8.11.0"
},
"config": {
"allow-plugins": {
Expand Down

0 comments on commit 31efdbc

Please # to comment.