Skip to content

Commit f03e13b

Browse files
committed
Import advanced PHP 7.1 sniffs
1 parent b11927a commit f03e13b

File tree

2 files changed

+147
-1
lines changed

2 files changed

+147
-1
lines changed

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
"require": {
1818
"php": "^7.1",
1919
"squizlabs/php_codesniffer": "~3.0",
20-
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.2"
20+
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.2",
21+
"slevomat/coding-standard": "3.3.*"
2122
},
2223
"extra": {
2324
"branch-alias": {

lib/Doctrine/ruleset.xml

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,149 @@
3030
<property name="ignoreNewlines" value="true"/>
3131
</properties>
3232
</rule>
33+
34+
<!-- Forbid using absolute class name references (except global ones) -->
35+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Namespaces/ReferenceUsedNamesOnlySniff.php">
36+
<properties>
37+
<property name="allowFullyQualifiedGlobalClasses" type="boolean" value="true"/>
38+
<property name="allowFullyQualifiedGlobalFunctions" type="boolean" value="true"/>
39+
<property name="allowFullyQualifiedGlobalConstants" type="boolean" value="true"/>
40+
<property name="allowFullyQualifiedNameForCollidingClasses" type="boolean" value="true"/>
41+
</properties>
42+
</rule>
43+
44+
<!-- Forbid empty lines around type declarations -->
45+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Types/EmptyLinesAroundTypeBracesSniff.php">
46+
<properties>
47+
<property name="linesCountAfterOpeningBrace" value="0"/>
48+
<property name="linesCountBeforeClosingBrace" value="0"/>
49+
</properties>
50+
</rule>
51+
52+
<!-- Require space around colon in return types -->
53+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/TypeHints/ReturnTypeHintSpacingSniff.php">
54+
<properties>
55+
<property name="spacesCountBeforeColon" value="1"/>
56+
</properties>
57+
</rule>
58+
59+
<!-- Require types to be written as natively if possible;
60+
require iterable types to specify phpDoc with their contnet;
61+
forbid useless/duplicated information in php doc -->
62+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/TypeHints/TypeHintDeclarationSniff.php">
63+
<properties>
64+
<property name="enableEachParameterAndReturnInspection" value="true"/>
65+
<property name="traversableTypeHints" type="array" value="Doctrine\Common\Collections\Collection"/>
66+
<property
67+
name="usefulAnnotations"
68+
type="array"
69+
value="
70+
@author,
71+
@dataProvider,
72+
@deprecated,
73+
@expectedException,
74+
@expectedExceptionMessage,
75+
@expectedExceptionCode,
76+
@internal,
77+
@link,
78+
@see,
79+
@since,
80+
@throws
81+
"
82+
/>
83+
</properties>
84+
</rule>
85+
86+
<!-- Require using Throwable instead of Exception -->
87+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Exceptions/ReferenceThrowableOnlySniff.php"/>
88+
89+
<!-- Require presence of declare(strict_types=1) -->
90+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/TypeHints/DeclareStrictTypesSniff.php">
91+
<properties>
92+
<property
93+
name="newlinesCountBetweenOpenTagAndDeclare"
94+
value="2"
95+
/>
96+
<property
97+
name="spacesCountAroundEqualsSign"
98+
value="0"
99+
/>
100+
</properties>
101+
</rule>
102+
103+
<!-- Forbid assignments in conditions -->
104+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/ControlStructures/AssignmentInConditionSniff.php"/>
105+
106+
<!-- Forbid weak comparisons -->
107+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/ControlStructures/DisallowEqualOperatorsSniff.php"/>
108+
109+
<!-- Require language constructs without parentheses -->
110+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/ControlStructures/LanguageConstructWithParenthesesSniff.php"/>
111+
112+
<!-- Forbid dead code -->
113+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Classes/UnusedPrivateElementsSniff.php"/>
114+
115+
<!-- Forbid unused use statements -->
116+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Namespaces/UnusedUsesSniff.php">
117+
<properties>
118+
<property name="searchAnnotations" type="boolean" value="true"/>
119+
</properties>
120+
</rule>
121+
122+
<!-- Forbid useless uses of the same namespace -->
123+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Namespaces/UseFromSameNamespaceSniff.php"/>
124+
125+
<!-- Forbid useless unreachable catch blocks -->
126+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Exceptions/DeadCatchSniff.php"/>
127+
128+
<!-- Require comma after last element in multi-line array -->
129+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Arrays/TrailingArrayCommaSniff.php"/>
130+
131+
<!-- Forbid fancy yoda conditions -->
132+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/ControlStructures/YodaComparisonSniff.php"/>
133+
134+
<!-- Require use statements to be alphabetically sorted -->
135+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Namespaces/AlphabeticallySortedUsesSniff.php"/>
136+
137+
<!-- Require use of short versions of scalar types (i.e. int instead of integer) -->
138+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/TypeHints/LongTypeHintsSniff.php"/>
139+
140+
<!-- Require presence of constant visibility -->
141+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Classes/ClassConstantVisibilitySniff.php"/>
142+
143+
<!-- Require ? when default value is null -->
144+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/TypeHints/NullableTypeForNullDefaultValueSniff.php"/>
145+
146+
<!-- Require one space between typehint and variable, require no space between nullability sign and typehint -->
147+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/TypeHints/ParameterTypeHintSpacingSniff.php"/>
148+
149+
<!-- Forbid fancy group uses -->
150+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Namespaces/DisallowGroupUseSniff.php"/>
151+
152+
<!-- Forbid multiple use statements on same line -->
153+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Namespaces/MultipleUsesPerLineSniff.php"/>
154+
155+
<!-- Forbid superfluous leading backslash in use statements -->
156+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Namespaces/UseDoesNotStartWithBackslashSniff.php"/>
157+
158+
<!-- Forbid useless annotations -->
159+
<!--<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Commenting/ForbiddenAnnotationsSniff.php">-->
160+
<!--<properties>-->
161+
<!--<property-->
162+
<!--name="forbiddenAnnotations"-->
163+
<!--type="array"-->
164+
<!--value="-->
165+
<!--@author,-->
166+
<!--@package,-->
167+
<!--@created,-->
168+
<!--@version,-->
169+
<!--@copyright,-->
170+
<!--@license-->
171+
<!--"-->
172+
<!--/>-->
173+
<!--</properties>-->
174+
<!--</rule>-->
175+
176+
<!-- report invalid format of inline phpDocs with @var -->
177+
<rule ref="vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Commenting/InlineDocCommentDeclarationSniff.php"/>
33178
</ruleset>

0 commit comments

Comments
 (0)