Enable ClassStructure.IncorrectGroupOrder

Place __invoke and magic methods right after constructor/destructor
instead of disabling the sniff.
This commit is contained in:
2026-09-22 14:48:37 +03:00
parent b3f31b8096
commit e1555f3bb9
+38 -3
View File
@@ -96,9 +96,6 @@
<exclude name="SlevomatCodingStandard.TypeHints.UnionTypeHintFormat" />
<exclude name="SlevomatCodingStandard.Whitespaces.DuplicateSpaces.DuplicateSpaces" />
<!-- Отключил из-за-->
<exclude name="SlevomatCodingStandard.Classes.ClassStructure.IncorrectGroupOrder" />
</rule>
<!-- Force array element indentation with 4 spaces -->
@@ -194,6 +191,44 @@
</properties>
</rule>
<!-- Class members order: default Slevomat order, but __invoke and magic methods right after constructor -->
<rule ref="SlevomatCodingStandard.Classes.ClassStructure">
<properties>
<property name="groups" type="array">
<element value="uses"/>
<element value="enum cases"/>
<element value="public constants"/>
<element value="protected constants"/>
<element value="private constants"/>
<element value="public properties"/>
<element value="public static properties"/>
<element value="protected properties"/>
<element value="protected static properties"/>
<element value="private properties"/>
<element value="private static properties"/>
<element value="public static final methods"/>
<element value="public static abstract methods"/>
<element value="protected static final methods"/>
<element value="protected static abstract methods"/>
<element value="public final methods"/>
<element value="public abstract methods"/>
<element value="protected final methods"/>
<element value="protected abstract methods"/>
<element value="constructor"/>
<element value="static constructors"/>
<element value="destructor"/>
<element value="invoke method"/>
<element value="magic methods"/>
<element value="public methods"/>
<element value="public static methods"/>
<element value="protected methods"/>
<element value="protected static methods"/>
<element value="private methods"/>
<element value="private static methods"/>
</property>
</properties>
</rule>
<!-- Forbid empty lines around type declarations -->
<rule ref="SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces">
<properties>