-
Notifications
You must be signed in to change notification settings - Fork 4
/
ruleset.xml
108 lines (98 loc) · 4.62 KB
/
ruleset.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?xml version="1.0" ?>
<ruleset
name="Cdn77"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../vendor/squizlabs/php_codesniffer/phpcs.xsd"
>
<arg name="extensions" value="php"/>
<arg name="parallel" value="16"/>
<arg name="colors"/>
<arg name="encoding" value="utf-8"/>
<arg value="n"/>
<arg value="p"/>
<arg value="s"/>
<!-- use Doctrine as the base standard -->
<rule ref="Doctrine">
<exclude name="Generic.Formatting.MultipleStatementAlignment"/>
<!-- Don't scream. There's no reason. Write a prose. -->
<exclude name="Generic.NamingConventions.UpperCaseConstantName"/>
<!-- Allow extends on a new line, compatibility with SlevomatCodingStandard.Files.LineLength-->
<exclude name="PSR2.Classes.ClassDeclaration.ExtendsLine" />
<!-- Allow implements on a new line, compatibility with SlevomatCodingStandard.Files.LineLength-->
<exclude name="PSR2.Classes.ClassDeclaration.ImplementsLine" />
<exclude name="Squiz.Commenting.FunctionComment.SpacingAfterParamType"/>
<!-- $_ variables are used to tell e.g. psalm that the variable is intentionally unused. -->
<!-- replaced by Cdn77.NamingConventions.ValidVariableName -->
<exclude name="Squiz.NamingConventions.ValidVariableName" />
<!-- replaced by SlevomatCodingStandard.Commenting.RequireOneLineDocComment -->
<exclude name="SlevomatCodingStandard.Commenting.RequireOneLinePropertyDocComment"/>
<!-- Tools like PHPStan or Psalm check these better -->
<exclude name="SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingTraversableTypeHintSpecification" />
<exclude name="SlevomatCodingStandard.TypeHints.PropertyTypeHint.MissingTraversableTypeHintSpecification" />
<exclude name="SlevomatCodingStandard.TypeHints.ReturnTypeHint.MissingTraversableTypeHintSpecification" />
</rule>
<rule ref="Cdn77.NamingConventions.ValidVariableName"/>
<rule ref="SlevomatCodingStandard.Arrays.MultiLineArrayEndBracketPlacement"/>
<rule ref="SlevomatCodingStandard.Classes.ClassStructure">
<properties>
<property name="groups" type="array" value="
uses,
public constants,
protected constants,
private constants,
enum cases,
public static properties,
protected static properties,
private static properties,
public properties,
protected properties,
private properties,
constructor,
static constructors,
destructor,
magic methods,
public static abstract methods,
public abstract methods,
public static final methods,
public static methods,
public final methods,
public methods,
protected static abstract methods,
protected abstract methods,
protected static final methods,
protected static methods,
protected final methods,
protected methods,
private static methods,
private methods,
"/>
</properties>
</rule>
<rule ref="SlevomatCodingStandard.Classes.ParentCallSpacing"/>
<rule ref="SlevomatCodingStandard.Classes.PropertySpacing"/>
<rule ref="SlevomatCodingStandard.Classes.RequireConstructorPropertyPromotion" />
<!-- Not accepted in upstream https://github.com/doctrine/coding-standard/pull/280 -->
<rule ref="SlevomatCodingStandard.Classes.RequireSingleLineMethodSignature"/>
<rule ref="SlevomatCodingStandard.ControlStructures.JumpStatementsSpacing">
<properties>
<property name="linesCountAfterWhenLastInCaseOrDefault" value="0"/>
<property name="jumpStatements" type="array" extend="true">
<element value="goto"/>
<element value="break"/>
<element value="continue"/>
</property>
</properties>
</rule>
<rule ref="SlevomatCodingStandard.Files.LineLength">
<properties>
<property name="ignoreComments" value="true" />
</properties>
</rule>
<rule ref="SlevomatCodingStandard.Functions.RequireArrowFunction" />
<rule ref="Squiz.WhiteSpace.OperatorSpacing">
<properties>
<property name="ignoreNewlines" value="true"/>
<property name="ignoreSpacingBeforeAssignments" value="false"/>
</properties>
</rule>
</ruleset>