Skip to content

Commit f59c7bd

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

File tree

2 files changed

+145
-1
lines changed

2 files changed

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

0 commit comments

Comments
 (0)