Multiple Index Definition |
Analyze, OneFile, All, Simple |
1 |
1 |
Minor |
25 % |
Randomly Sorted Arrays |
All, Analyze, Level 4, Suggestions |
200 |
127 |
Minor |
41 % |
String Initialization |
All, CompatibilityPHP71 |
110 |
30 |
Minor |
33 % |
Too Many Array Dimensions |
All, Analyze |
47 |
9 |
Minor |
0 % |
Abstract Or Implements |
All, Analyze, LintButWontExec |
18 |
18 |
Major |
4 % |
Ambiguous Visibilities |
All, Analyze |
213 |
115 |
Minor |
70 % |
Avoid option arrays in constructors |
All, Analyze, ClassReview |
2 |
2 |
Minor |
0 % |
Avoid Optional Properties |
All, Analyze |
82 |
28 |
Major |
83 % |
Child Class Removes Typehint |
All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Typechecks |
1 |
1 |
Major |
1 % |
Const Visibility Usage |
All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
53 |
14 |
Minor |
16 % |
Constant Class |
Analyze, All, Simple |
10 |
10 |
Minor |
49 % |
Could Be Abstract Class |
All, Analyze, ClassReview |
38 |
38 |
Minor |
65 % |
Class Could Be Final |
All, Analyze, ClassReview |
1793 |
1792 |
Minor |
95 % |
Method Could Be Static |
All, Analyze, ClassReview |
289 |
177 |
Minor |
95 % |
Don't Unset Properties |
All, Analyze, Top10, php-cs-fixable |
1 |
1 |
Major |
40 % |
Empty Classes |
Analyze, All, Simple |
1 |
1 |
Minor |
58 % |
Hidden Nullable |
All, Analyze, ClassReview |
43 |
34 |
Minor |
0 % |
Incompatible Signature Methods With Covariance |
All, Analyze |
1 |
1 |
Critical |
0 % |
Locally Unused Property |
Dead code, All, Simple |
247 |
198 |
Minor |
76 % |
Make Global A Property |
Analyze, All, Simple |
1 |
1 |
Minor |
33 % |
Method Signature Must Be Compatible |
All, Analyze, LintButWontExec |
8 |
7 |
Critical |
50 % |
No Public Access |
Analyze, All |
29 |
13 |
Minor |
60 % |
Non Nullable Getters |
All, Analyze, ClassReview |
21 |
15 |
Minor |
0 % |
Forgotten Visibility |
Analyze, ClearPHP, All, Simple, Level 1 |
1 |
1 |
Minor |
42 % |
Non Static Methods Called In A Static |
Analyze, CompatibilityPHP56, All, Simple, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55 |
33 |
25 |
Minor |
20 % |
Parent First |
All, Analyze, Suggestions |
3 |
3 |
Minor |
55 % |
Property Could Be Local |
All, Analyze, ClassReview |
85 |
39 |
Minor |
71 % |
Never Used Properties |
Analyze, All, Simple |
29 |
16 |
Minor |
72 % |
Property Used In One Method Only |
All, Analyze |
107 |
54 |
Minor |
84 % |
Redefined Class Constants |
Analyze, All, Simple |
82 |
12 |
Minor |
15 % |
Redefined Default |
Analyze, All, Simple |
56 |
28 |
Major |
26 % |
Redefined Private Property |
All, Analyze |
5 |
5 |
Major |
18 % |
Scalar Or Object Property |
All, Analyze |
2 |
2 |
Minor |
24 % |
Could Use self |
Analyze, All, Simple, Suggestions, Level 3, ClassReview |
8 |
4 |
Minor |
57 % |
Should Use Local Class |
Analyze, ClearPHP, All, Simple |
157 |
60 |
Minor |
94 % |
$this Belongs To Classes Or Traits |
Analyze, All, Simple |
1 |
1 |
Major |
23 % |
Too Many Dereferencing |
All, Analyze |
900 |
426 |
Minor |
0 % |
Wrong Access Style to Property |
All, Analyze, Level 2, ClassReview |
230 |
92 |
Critical |
3 % |
Undefined Classes |
Analyze, All |
40 |
20 |
Major |
91 % |
Undefined Class Constants |
Analyze, All |
14 |
4 |
Major |
53 % |
Undefined Properties |
Analyze, ClearPHP, All, Simple |
21 |
1 |
Major |
58 % |
Unresolved Catch |
Dead code, ClearPHP, All |
1 |
1 |
Major |
51 % |
Unresolved Classes |
Analyze, All |
21 |
10 |
Major |
86 % |
Unresolved Instanceof |
Analyze, Dead code, ClearPHP, All, Simple, Top10 |
1 |
1 |
Major |
48 % |
Unused Classes |
Dead code, All, Simple, Analyze |
79 |
79 |
Major |
72 % |
Unused Class Constant |
All, Analyze, ClassReview |
1584 |
80 |
Minor |
0 % |
Unused Methods |
Dead code, All, Simple |
2239 |
1690 |
Minor |
95 % |
Unused Private Methods |
Dead code, OneFile, All, Simple |
24 |
19 |
Minor |
45 % |
Unused Private Properties |
Dead code, OneFile, All, Simple |
11 |
4 |
Minor |
37 % |
Unused Protected Methods |
Dead code, All |
26 |
7 |
Major |
72 % |
Use Class Operator |
All, Analyze, Performances, Simple |
6 |
5 |
Minor |
74 % |
Used Once Property |
All, Analyze |
92 |
54 |
Minor |
72 % |
Useless Constructor |
Analyze, All, Simple, Level 3 |
3 |
3 |
Minor |
38 % |
Constants With Strange Names |
Analyze, All, Simple |
19 |
4 |
Minor |
1 % |
Multiple Constant Definition |
Analyze, All, Simple |
3 |
3 |
Minor |
32 % |
Undefined Constants |
Analyze, All, Simple, CompatibilityPHP72 |
9 |
5 |
Minor |
54 % |
Unused Constants |
Dead code, All, Simple |
4 |
1 |
Minor |
36 % |
Undefined Caught Exceptions |
Dead code, All |
1 |
1 |
None |
50 % |
Uncaught Exceptions |
Analyze, All |
118 |
36 |
Minor |
81 % |
Unthrown Exception |
Analyze, Dead code, ClearPHP, All, Simple |
1 |
1 |
Minor |
43 % |
Useless Catch |
All, Analyze |
1 |
1 |
Minor |
47 % |
Aliases Usage |
Analyze, ClearPHP, OneFile, All, Simple, Level 1 |
9 |
4 |
Minor |
42 % |
Use Named Boolean In Argument Definition |
All, Analyze |
4 |
4 |
Minor |
84 % |
Callback Needs Return |
All, Analyze |
2 |
2 |
Major |
51 % |
Could Make A Function |
All, Analyze, Suggestions |
818 |
184 |
Minor |
75 % |
Dont Collect Void |
All, Analyze |
6 |
4 |
Minor |
0 % |
Empty Function |
Analyze, All, Simple |
25 |
12 |
Minor |
71 % |
Hardcoded Passwords |
Analyze, OneFile, Security, All, Simple, Level 3 |
34 |
9 |
Major |
61 % |
Insufficient Typehint |
All, Analyze, Typechecks |
2 |
2 |
Major |
24 % |
Mismatched Default Arguments |
All, Analyze, Typechecks |
17 |
10 |
Minor |
33 % |
Mismatched Typehint |
All, Analyze, Typechecks |
25 |
19 |
Major |
5 % |
Must Return Methods |
Analyze, All, Simple, Level 2, LintButWontExec |
19 |
7 |
Major |
22 % |
Never Used Parameter |
All, Analyze, Suggestions |
242 |
119 |
Minor |
47 % |
No Boolean As Default |
All, Analyze |
4 |
4 |
Minor |
84 % |
Only Variable Passed By Reference |
All, Analyze |
1 |
1 |
Critical |
40 % |
Relay Function |
Analyze, All |
23 |
10 |
Major |
83 % |
Too Many Local Variables |
All, Analyze |
37 |
25 |
Minor |
65 % |
Typehint Must Be Returned |
All, Analyze, LintButWontExec |
2 |
2 |
Major |
10 % |
Undefined Functions |
Analyze, All |
1 |
1 |
Major |
71 % |
Unused Arguments |
Analyze, All, Simple |
52 |
26 |
Major |
89 % |
Unused Functions |
Dead code, All, Simple |
5 |
4 |
Minor |
53 % |
Unused Inherited Variable In Closure |
All, Analyze, Dead code |
1 |
1 |
Major |
22 % |
Unused Returned Value |
All, Analyze, OneFile, Dead code, Simple |
31 |
14 |
Minor |
39 % |
Uses Default Values |
Analyze, All, Simple |
2695 |
334 |
Minor |
97 % |
Methods Without Return |
All, Analyze |
1478 |
1320 |
Minor |
0 % |
Wrong Number Of Arguments |
Analyze, OneFile, All, Simple |
8 |
5 |
Major |
38 % |
Wrong Optional Parameter |
Analyze, All, Simple, Level 1 |
1 |
1 |
Minor |
38 % |
Wrong Returned Type |
All, Analyze, ClassReview |
84 |
33 |
Minor |
0 % |
Wrong Type With Call |
All, Analyze, Typechecks |
3 |
3 |
Minor |
0 % |
Interfaces Is Not Implemented |
All, Analyze, ClassReview |
6 |
6 |
Minor |
0 % |
Undefined Interfaces |
Analyze, All |
3 |
1 |
Major |
67 % |
Useless Interfaces |
Analyze, ClearPHP, All, Simple, ClassReview, Typechecks |
1 |
1 |
Minor |
57 % |
Multiple Alias Definitions |
Analyze, All, Simple |
180 |
180 |
Minor |
42 % |
Should Make Alias |
Analyze, OneFile, All, Simple |
3 |
2 |
Minor |
44 % |
Unresolved Use |
Analyze, ClearPHP, All, Simple |
15 |
11 |
Major |
65 % |
No array_merge() In Loops |
Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10 |
8 |
7 |
Major |
55 % |
Logical To in_array |
All, Analyze, Level 2 |
21 |
13 |
Minor |
66 % |
Memoize MagicCall |
All, Analyze, ClassReview |
2 |
2 |
Minor |
0 % |
Avoid mb_dectect_encoding() |
All, Analyze |
2 |
1 |
Minor |
0 % |
Use random_int() |
Analyze, Security, All, CompatibilityPHP71, Simple, Level 2 |
2 |
1 |
Major |
59 % |
Detect Current Class |
All, Suggestions, CompatibilityPHP74 |
4 |
2 |
None |
47 % |
Group Use Declaration |
All, Appinfo, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
1 |
1 |
Minor |
3 % |
Wrong Parameter Type |
Analyze, OneFile, All, Simple |
3 |
1 |
Major |
45 % |
Use === null |
Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable |
1 |
1 |
Minor |
52 % |
List With Keys |
CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Appcontent, Appinfo, All |
5 |
4 |
Major |
32 % |
No Class In Global |
All, Analyze |
89 |
8 |
Minor |
78 % |
No Substr Minus One |
All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
6 |
4 |
Major |
12 % |
PHP 7.0 Scalar Typehints |
All, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
509 |
155 |
Critical |
31 % |
PHP 7.1 Scalar Typehints |
All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
1 |
1 |
Critical |
0 % |
PHP 7.2 Scalar Typehints |
All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
7 |
1 |
Critical |
0 % |
PHP 7.3 Last Empty Argument |
All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
10 |
3 |
Critical |
13 % |
Php7 Relaxed Keyword |
CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All, Appinfo |
316 |
155 |
Major |
25 % |
PHP Keywords As Names |
Analyze, All, Simple |
2399 |
304 |
Major |
89 % |
Scalar Are Not Arrays |
All, Analyze, CompatibilityPHP74 |
3 |
2 |
Minor |
0 % |
Should Use Coalesce |
Analyze, All, Simple, Suggestions, Level 3 |
14 |
4 |
Major |
71 % |
Too Many Native Calls |
All, Analyze |
7 |
6 |
Minor |
47 % |
Trailing Comma In Calls |
All, CompatibilityPHP53, CompatibilityPHP70, Appinfo, CompatibilityPHP71, CompatibilityPHP72, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
10 |
3 |
Minor |
0 % |
Use Nullable Type |
All, Appinfo, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
80 |
48 |
Major |
21 % |
Avoid Using stdClass |
All, Analyze, OneFile, Simple, Level 4 |
28 |
13 |
Minor |
45 % |
Usort Sorting In PHP 7.0 |
CompatibilityPHP70, All |
14 |
8 |
Major |
46 % |
Always Anchor Regex |
All, Security |
86 |
33 |
Major |
65 % |
Avoid Those Hash Functions |
Security, All |
16 |
5 |
Major |
60 % |
Direct Injection |
Security, All |
5 |
1 |
Major |
41 % |
Don't Echo Error |
All, Analyze, Security, Simple, Level 1 |
2 |
1 |
Critical |
32 % |
Indirect Injection |
Security, All |
17 |
3 |
Critical |
21 % |
Keep Files Access Restricted |
All, Security |
1 |
1 |
Minor |
0 % |
Avoid sleep()/usleep() |
Security, All |
11 |
7 |
Minor |
39 % |
Safe HTTP Headers |
All, Security |
2 |
1 |
Major |
5 % |
Should Use Prepared Statement |
Analyze, Security, All, Simple |
43 |
16 |
Major |
22 % |
Constant Comparison |
All, Analyze |
4 |
3 |
Minor |
0 % |
Bail Out Early |
All, Analyze, OneFile, Simple, Level 4 |
8 |
8 |
Minor |
92 % |
Strict Comparison With Booleans |
Analyze, All, Simple, Suggestions, Level 2 |
96 |
48 |
Minor |
76 % |
Buried Assignation |
Analyze, All |
54 |
19 |
Minor |
82 % |
Casting Ternary |
All, Analyze, OneFile |
1 |
1 |
Major |
0 % |
Check All Types |
All, Analyze |
76 |
34 |
Major |
68 % |
Check JSON |
All, Analyze |
143 |
52 |
Major |
64 % |
Common Alternatives |
Analyze, All, Simple |
106 |
46 |
Major |
61 % |
Could Use Short Assignation |
Analyze, OneFile, Performances, All, Simple |
7 |
6 |
Minor |
60 % |
Could Use str_repeat() |
All, Analyze, Level 1, Top10 |
8 |
5 |
Minor |
12 % |
Dont Change The Blind Var |
All, Analyze |
107 |
68 |
Minor |
72 % |
Dont Mix ++ |
All, Analyze |
35 |
10 |
Minor |
43 % |
Double Assignation |
Analyze, All |
63 |
29 |
Major |
55 % |
Double Instructions |
Analyze, All, Simple |
20 |
17 |
Minor |
57 % |
Drop Else After Return |
All, Analyze, OneFile, Simple, Suggestions, Level 4 |
44 |
33 |
Minor |
70 % |
Echo With Concat |
Performances, Analyze, All, Simple, Suggestions |
173 |
37 |
Minor |
58 % |
Else If Versus Elseif |
Analyze, All, Simple, php-cs-fixable, Rector |
1 |
1 |
Minor |
65 % |
Empty Blocks |
Analyze, All, Simple |
6 |
4 |
Minor |
57 % |
Empty Try Catch |
Analyze, All, Level 3 |
6 |
4 |
Minor |
47 % |
Eval() Usage |
Analyze, Appinfo, Performances, OneFile, ClearPHP, All, Simple, Security |
2 |
1 |
Major |
37 % |
Exit() Usage |
Analyze, Appinfo, OneFile, ClearPHP, All |
46 |
22 |
Major |
60 % |
Switch Fallthrough |
All, Inventory, Security, Stats |
3 |
3 |
Minor |
37 % |
Global Usage |
Analyze, Appinfo, ClearPHP, All |
4 |
3 |
Minor |
52 % |
Identical Consecutive Expression |
All, Analyze |
19 |
13 |
Minor |
58 % |
Iffectations |
Analyze, All |
78 |
23 |
Minor |
80 % |
Implode() Arguments Order |
All, Analyze |
29 |
13 |
Minor |
0 % |
Inconsistent Elseif |
All, Analyze |
26 |
19 |
Major |
73 % |
Infinite Recursion |
All, Analyze |
5 |
4 |
Major |
0 % |
Long Arguments |
All, Analyze |
229 |
89 |
Minor |
67 % |
Max Level Of Nesting |
All, Analyze |
22 |
15 |
Minor |
0 % |
Merge If Then |
All, Analyze |
20 |
13 |
Minor |
0 % |
Mismatched Ternary Alternatives |
All, Analyze, Suggestions, Level 4 |
18 |
3 |
Major |
62 % |
Missing Cases In Switch |
All, Analyze |
6 |
6 |
Minor |
2 % |
Missing New ? |
All, Analyze |
89 |
55 |
Critical |
5 % |
Mixed Concat And Interpolation |
All, Coding Conventions, Analyze |
24 |
12 |
Minor |
43 % |
Modernize Empty With Expression |
All, Analyze, OneFile, Simple |
215 |
139 |
Minor |
56 % |
Multiple Type Variable |
All, Analyze, Level 4 |
83 |
23 |
Minor |
43 % |
Multiply By One |
Analyze, OneFile, ClearPHP, All, Simple, Level 1 |
1 |
1 |
Minor |
17 % |
Nested Ifthen |
Analyze, All, RadwellCodes |
44 |
24 |
Major |
87 % |
Nested Ternary |
Analyze, ClearPHP, All, Simple, Level 1 |
2 |
2 |
Major |
20 % |
Don't Change Incomings |
Analyze, All |
1 |
1 |
Minor |
44 % |
No Choice |
Analyze, All, Simple, Level 2, Top10 |
6 |
5 |
Major |
43 % |
No Hardcoded Path |
Analyze, ClearPHP, All, Simple |
32 |
6 |
Major |
33 % |
No Need For Else |
All, Analyze |
120 |
42 |
Minor |
74 % |
No Return Or Throw In Finally |
All, Security |
1 |
1 |
Major |
0 % |
Variable Is Not A Condition |
All, Analyze |
17 |
10 |
Minor |
57 % |
@ Operator |
Appinfo, ClearPHP, All, Analyze, Performances |
24 |
20 |
Minor |
66 % |
Several Instructions On The Same Line |
Analyze, All |
5 |
3 |
Major |
57 % |
Print And Die |
Analyze, All, Simple |
5 |
4 |
Minor |
29 % |
Printf Number Of Arguments |
All, Analyze |
15 |
8 |
Minor |
42 % |
Random Without Try |
Security, All |
7 |
6 |
Critical |
21 % |
Repeated print() |
Analyze, All, Simple, Suggestions, Level 3, Top10 |
15 |
4 |
Major |
49 % |
Repeated Regex |
All, Analyze, Level 1 |
21 |
15 |
Minor |
47 % |
Results May Be Missing |
Analyze, All, Simple |
4 |
2 |
Major |
18 % |
Same Conditions In Condition |
Analyze, All, Simple |
12 |
10 |
Critical |
49 % |
Should Make Ternary |
All, Analyze, OneFile, Simple |
181 |
65 |
Minor |
85 % |
Preprocessable |
Analyze, All, Rector |
1979 |
319 |
Minor |
86 % |
Should Use Explode Args |
All, Analyze |
5 |
5 |
Minor |
0 % |
Static Loop |
Analyze, All, Simple, Level 4 |
48 |
7 |
Minor |
65 % |
Strpos()-like Comparison |
Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10 |
1 |
1 |
Major |
54 % |
Switch To Switch |
Analyze, All, RadwellCodes, Simple |
39 |
22 |
Minor |
79 % |
Switch Without Default |
Analyze, ClearPHP, All, Simple |
2 |
2 |
Major |
68 % |
Timestamp Difference |
Analyze, All, Simple, Level 3 |
2 |
2 |
Major |
50 % |
Unchecked Resources |
Analyze, ClearPHP, All, Simple, Level 2 |
10 |
6 |
Major |
49 % |
Unconditional Break In Loop |
All, Analyze, Level 3 |
2 |
2 |
Major |
46 % |
Unpreprocessed Values |
Analyze, OneFile, ClearPHP, All, Simple |
2 |
2 |
Minor |
28 % |
Unreachable Code |
Dead code, OneFile, ClearPHP, All, Simple, Suggestions, Level 3 |
20 |
9 |
Major |
44 % |
Use Positive Condition |
All, Analyze, OneFile, Simple |
15 |
8 |
Minor |
81 % |
Use System Tmp |
Analyze, All, Simple, Level 3 |
1 |
1 |
Major |
1 % |
Useless Casting |
All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4 |
5 |
3 |
Minor |
37 % |
Useless Check |
All, Analyze, OneFile, Simple, Level 1 |
1 |
1 |
Minor |
48 % |
Useless Global |
Analyze, OneFile, All, Simple, Level 2 |
1 |
1 |
Minor |
24 % |
Useless Parenthesis |
Analyze, All, Simple |
10 |
7 |
Minor |
81 % |
Useless Unset |
Analyze, OneFile, ClearPHP, All, Simple, Level 2 |
12 |
4 |
Major |
28 % |
var_dump()... Usage |
Analyze, ClearPHP, Security, All |
19 |
9 |
Critical |
40 % |
One Variable String |
Analyze, All, RadwellCodes, Simple |
8 |
2 |
Minor |
29 % |
Should Typecast |
Analyze, OneFile, All, Simple |
13 |
7 |
Minor |
47 % |
String May Hold A Variable |
Analyze, All, Simple |
158 |
46 |
Minor |
58 % |
Strings With Strange Space |
All, Analyze |
4 |
2 |
Minor |
15 % |
Assigned Twice |
All, Analyze |
222 |
39 |
Minor |
78 % |
Overwritten Literals |
Analyze, All |
307 |
42 |
Major |
78 % |
Php 7 Indirect Expression |
CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP70, All |
1 |
1 |
Major |
14 % |
Strange Name For Variables |
All, Analyze |
146 |
7 |
Minor |
28 % |
Undefined Variable |
All, Analyze |
51 |
14 |
Minor |
77 % |
Used Once Variables |
Analyze, OneFile, All, Simple, Top10 |
13 |
9 |
Minor |
87 % |
Used Once Variables (In Scope) |
Analyze, ClearPHP, OneFile, All, Simple, Level 4 |
256 |
117 |
Minor |
95 % |
Written Only Variables |
Analyze, OneFile, All, Simple |
119 |
55 |
Minor |
78 % |