-
Notifications
You must be signed in to change notification settings - Fork 0
/
phpcs.xml
153 lines (137 loc) · 5.76 KB
/
phpcs.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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="WordPress Coding Standards"
xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">
<description>The Coding standard for the WordPress Coding Standards itself.</description>
<!-- Set the memory limit to 256M.
For most standard PHP configurations, this means the memory limit will temporarily be raised.
Ref: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#specifying-phpini-settings
-->
<ini name="memory_limit" value="256M" />
<!-- Strip the filepaths in reports down to the relevant bit. -->
<arg name="basepath" value="./" />
<!-- Check up to 8 files simultaneously. -->
<arg name="parallel" value="8" />
<!-- Show progress, show the error codes for each message (source). -->
<arg value="ps" />
<file>.</file>
<!-- Configs -->
<config name="minimum_supported_wp_version" value="6.0" />
<config name="testVersion" value="7.4-" />
<arg name="extensions" value="php" />
<arg name="tab-width" value="4" />
<arg value="sp" />
<arg name="extensions" value="php" />
<arg name="standard" value="WordPress" />
<!-- exclude folders -->
<exclude-pattern>.github/*</exclude-pattern>
<exclude-pattern>.idea/*</exclude-pattern>
<exclude-pattern>vendor/*</exclude-pattern>
<exclude-pattern>vendor-src/*</exclude-pattern>
<exclude-pattern>node_modues/*</exclude-pattern>
<exclude-pattern>assets/*</exclude-pattern>
<!-- ... -->
<rule ref="PHPCompatibility" />
<rule ref="WordPress.Security">
<exclude name="WordPress.Files.FileName" />
</rule>
<!-- Covers rule: Use lowercase letters in variable, action/filter, and function names.
Separate words via underscores. -->
<rule ref="WordPress.NamingConventions.ValidFunctionName" />
<rule ref="WordPress.NamingConventions.ValidHookName" />
<rule ref="WordPress.NamingConventions.ValidVariableName" />
<rule ref="PSR2.Methods.FunctionClosingBrace" />
<!-- Encourage use of wp_safe_redirect() to avoid open redirect vulnerabilities.
https://github.com/WordPress/WordPress-Coding-Standards/pull/1264 -->
<rule ref="WordPress.Security.SafeRedirect" />
<!--
#############################################################################
Handbook: PHP - Formatting SQL statements.
Ref:
https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#formatting-sql-statements
#############################################################################
-->
<!-- Rule: in $wpdb->prepare - %s is used for string placeholders and %d is used for integer
placeholders. Note that they are not 'quoted'! -->
<rule ref="WordPress.DB.PreparedSQLPlaceholders" />
<!-- <rule ref="WordPress.DB.DirectDatabaseQuery" /> -->
<!-- Covers rule: $wpdb->prepare()... The benefit of this is that we don't have to remember
to manually use esc_sql(), and also that it is easy to see at a glance whether something
has been escaped or not, because it happens right when the query happens. -->
<rule ref="WordPress.DB.PreparedSQL" />
<rule ref="WordPress.DB.RestrictedFunctions" />
<rule ref="WordPress.DB.RestrictedClasses" />
<rule ref="WordPress.Arrays.MultipleStatementAlignment">
<properties>
<property name="ignoreNewlines" value="false"/>
</properties>
</rule>
<!-- Allow short array syntax -->
<rule ref="Generic.Arrays.DisallowShortArraySyntax.Found">
<severity>0</severity>
</rule>
<rule ref="Generic.WhiteSpace.DisallowTabIndent"/>
<rule ref="Generic.WhiteSpace.ScopeIndent"/>
<rule ref="Generic.Arrays.DisallowLongArraySyntax.Found" />
<rule ref="Generic.Arrays.ArrayIndent" />
<rule ref="Generic.Formatting.MultipleStatementAlignment" />
<rule ref="Generic.Formatting.SpaceAfterCast" />
<rule ref="Generic.Formatting.SpaceAfterNot" />
<rule ref="Generic.WhiteSpace.ArbitraryParenthesesSpacing">
<properties>
<property name="spacing" value="1" />
</properties>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature">
<properties>
<property name="requiredSpacesAfterOpen" value="1" />
<property name="requiredSpacesBeforeClose" value="1" />
</properties>
</rule>
<!-- <rule ref="PEAR.Functions.FunctionDeclaration"/> -->
<rule ref="PSR2.ControlStructures.ControlStructureSpacing">
<properties>
<property name="requiredSpacesAfterOpen" value="1" />
<property name="requiredSpacesBeforeClose" value="1" />
</properties>
</rule>
<rule ref="Squiz.ControlStructures.ForEachLoopDeclaration">
<properties>
<property name="requiredSpacesAfterOpen" value="1" />
<property name="requiredSpacesBeforeClose" value="1" />
</properties>
</rule>
<rule ref="Squiz.ControlStructures.ForLoopDeclaration">
<properties>
<property name="requiredSpacesAfterOpen" value="1" />
<property name="requiredSpacesBeforeClose" value="1" />
</properties>
</rule>
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
<properties>
<property name="equalsSpacing" value="1" />
<property name="requiredSpacesAfterOpen" value="1" />
<property name="requiredSpacesBeforeClose" value="1" />
</properties>
</rule>
<rule ref="Squiz.Strings.ConcatenationSpacing">
<properties>
<property name="spacing" value="1" />
</properties>
</rule>
<rule ref="PSR12.Operators.OperatorSpacing"></rule>
<rule ref="Generic.Functions.OpeningFunctionBraceKernighanRitchie" />
<rule ref="Squiz.ControlStructures.ControlSignature"></rule>
<rule ref="Squiz.WhiteSpace.FunctionSpacing">
<properties>
<property name="spacing" value="1" />
<property name="spacingBeforeFirst" value="0" />
<property name="spacingAfterLast" value="0" />
</properties>
</rule>
<rule ref="Squiz.WhiteSpace.MemberVarSpacing">
<properties>
<property name="spacing" value="1" />
<property name="spacingBeforeFirst" value="0" />
</properties>
</rule>
</ruleset>