| Randomly Sorted Arrays |
All, Analyze, Level 4, Suggestions |
12 |
10 |
Minor |
41 % |
| String Initialization |
All, CompatibilityPHP71 |
2 |
1 |
Minor |
33 % |
| Too Many Array Dimensions |
All, Analyze |
8 |
5 |
Minor |
0 % |
| Accessing Private |
Analyze, All, Simple |
3 |
3 |
Major |
13 % |
| Ambiguous Static |
All, Analyze |
100 |
70 |
Minor |
64 % |
| Ambiguous Visibilities |
All, Analyze |
524 |
324 |
Minor |
70 % |
| Anonymous Classes |
Appinfo, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All |
10 |
7 |
Major |
15 % |
| Avoid Optional Properties |
All, Analyze |
51 |
35 |
Major |
83 % |
| Cant Instantiate Class |
All, Analyze |
14 |
3 |
Critical |
28 % |
| Child Class Removes Typehint |
All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Typechecks |
5 |
4 |
Major |
1 % |
| Class, Interface Or Trait With Identical Names |
Analyze, All |
2 |
2 |
Minor |
16 % |
| Const Visibility Usage |
All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
215 |
85 |
Minor |
16 % |
| Constant Class |
Analyze, All, Simple, CI-checks |
23 |
23 |
Minor |
49 % |
| Could Be Abstract Class |
All, Analyze, ClassReview |
37 |
37 |
Minor |
65 % |
| Class Could Be Final |
All, Analyze, ClassReview |
484 |
481 |
Minor |
95 % |
| Method Could Be Static |
All, Analyze, ClassReview |
906 |
715 |
Minor |
95 % |
| Cyclic References |
All, Analyze, ClassReview |
1 |
1 |
Minor |
0 % |
| Dependant Abstract Classes |
All, Analyze, ClassReview |
3 |
3 |
Minor |
0 % |
| Different Argument Counts |
All, Analyze, ClassReview |
2 |
2 |
Minor |
0 % |
| No Direct Call To Magic Method |
Analyze, All, Level 2, CI-checks |
14 |
11 |
Major |
41 % |
| Don't Send $this In Constructor |
All, Analyze |
2 |
2 |
Minor |
39 % |
| Empty Classes |
Analyze, All, Simple |
19 |
19 |
Minor |
58 % |
| Class Should Be Final By Ocramius |
All, Analyze |
8 |
8 |
Minor |
42 % |
| Hidden Nullable |
All, Analyze, ClassReview |
111 |
74 |
Minor |
0 % |
| Incompatible Signature Methods With Covariance |
All, Analyze |
9 |
8 |
Critical |
0 % |
| Locally Unused Property |
Dead code, All, Simple |
51 |
43 |
Minor |
76 % |
| Assign Default To Properties |
Analyze, ClearPHP, All, Simple, Level 2 |
6 |
6 |
Minor |
49 % |
| Method Signature Must Be Compatible |
All, Analyze, LintButWontExec |
48 |
41 |
Critical |
50 % |
| Missing Abstract Method |
All, Analyze, ClassReview |
4 |
2 |
Minor |
0 % |
| Multiple Class Declarations |
Analyze, All, Simple, CI-checks |
17 |
17 |
Major |
5 % |
| No Public Access |
Analyze, All |
9 |
7 |
Minor |
60 % |
| Non Nullable Getters |
All, Analyze, ClassReview |
75 |
45 |
Minor |
0 % |
| Forgotten Visibility |
Analyze, ClearPHP, All, Simple, Level 1, CI-checks |
2995 |
479 |
Minor |
42 % |
| Parent First |
All, Analyze, Suggestions |
4 |
4 |
Minor |
55 % |
| Property Could Be Local |
All, Analyze, ClassReview |
837 |
398 |
Minor |
71 % |
| Never Used Properties |
Analyze, All, Simple |
47 |
39 |
Minor |
72 % |
| Property Used In One Method Only |
All, Analyze |
9 |
8 |
Minor |
84 % |
| Could Use self |
Analyze, All, Simple, Suggestions, Level 3, ClassReview |
10 |
8 |
Minor |
57 % |
| Should Use Local Class |
Analyze, ClearPHP, All, Simple |
1146 |
684 |
Minor |
94 % |
| Static Methods Called From Object |
Analyze, All, Simple, CI-checks |
308 |
162 |
Minor |
38 % |
| Too Many Dereferencing |
All, Analyze |
123 |
86 |
Minor |
0 % |
| Too Many Finds |
All, Analyze |
8 |
8 |
Minor |
6 % |
| Too Many Injections |
All, Analyze, Dismell |
75 |
75 |
Minor |
0 % |
| Wrong Access Style to Property |
All, Analyze, Level 2, ClassReview, CI-checks |
10 |
1 |
Critical |
3 % |
| Undefined Classes |
Analyze, All |
8848 |
1766 |
Major |
91 % |
| Undefined Class Constants |
Analyze, All, CI-checks |
457 |
229 |
Major |
53 % |
| Undefined Properties |
Analyze, ClearPHP, All, Simple, CI-checks |
441 |
153 |
Major |
58 % |
| Undefined static:: Or self:: |
Analyze, All, Simple |
46 |
26 |
Minor |
33 % |
| Undefined ::class |
All, Analyze, CI-checks |
789 |
396 |
Major |
34 % |
| Unresolved Catch |
Dead code, ClearPHP, All |
52 |
37 |
Major |
51 % |
| Unresolved Classes |
Analyze, All |
1383 |
525 |
Major |
86 % |
| Unresolved Instanceof |
Analyze, Dead code, ClearPHP, All, Simple, Top10 |
70 |
28 |
Major |
48 % |
| Unused Classes |
Dead code, All, Simple, Analyze |
122 |
122 |
Major |
72 % |
| Unused Class Constant |
All, Analyze, ClassReview |
29 |
12 |
Minor |
0 % |
| Unused Methods |
Dead code, All, Simple |
8654 |
1940 |
Minor |
95 % |
| Unused Private Methods |
Dead code, OneFile, All, Simple |
5 |
5 |
Minor |
45 % |
| Unused Private Properties |
Dead code, OneFile, All, Simple |
8 |
8 |
Minor |
37 % |
| Unused Protected Methods |
Dead code, All |
295 |
250 |
Major |
72 % |
| Use Class Operator |
All, Analyze, Performances, Simple, CI-checks |
7 |
2 |
Minor |
74 % |
| Use Instanceof |
Analyze, All, Simple, CI-checks |
4 |
2 |
Major |
63 % |
| Used Once Property |
All, Analyze |
71 |
68 |
Minor |
72 % |
| Useless Constructor |
Analyze, All, Simple, Level 3 |
2 |
2 |
Minor |
38 % |
| Weak Typing |
All, Analyze |
20 |
17 |
Minor |
41 % |
| Multiple Constant Definition |
Analyze, All, Simple, CI-checks |
46 |
13 |
Minor |
32 % |
| Undefined Constants |
Analyze, All, Simple, CompatibilityPHP72, CI-checks |
16 |
4 |
Minor |
54 % |
| Catch Undefined Variable |
All, Analyze |
9 |
1 |
Minor |
0 % |
| Undefined Caught Exceptions |
Dead code, All |
19 |
17 |
None |
50 % |
| Forgotten Thrown |
All, Analyze |
23 |
13 |
Major |
30 % |
| Multiple Exceptions Catch() |
CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All, Appinfo |
2 |
2 |
Major |
9 % |
| Uncaught Exceptions |
Analyze, All |
252 |
175 |
Minor |
81 % |
| Unthrown Exception |
Analyze, Dead code, ClearPHP, All, Simple |
1 |
1 |
Minor |
43 % |
| Useless Catch |
All, Analyze, CI-checks |
44 |
33 |
Minor |
47 % |
| Missing Include |
All, Analyze |
2 |
1 |
Critical |
61 % |
| Aliases Usage |
Analyze, ClearPHP, OneFile, All, Simple, Level 1, CI-checks |
1 |
1 |
Minor |
42 % |
| Use Named Boolean In Argument Definition |
All, Analyze |
28 |
20 |
Minor |
84 % |
| Could Make A Function |
All, Analyze, Suggestions |
211 |
123 |
Minor |
75 % |
| Dont Collect Void |
All, Analyze |
855 |
137 |
Minor |
0 % |
| Empty Function |
Analyze, All, Simple |
76 |
41 |
Minor |
71 % |
| Hardcoded Passwords |
Analyze, OneFile, Security, All, Simple, Level 3 |
139 |
83 |
Major |
61 % |
| Insufficient Typehint |
All, Analyze, Typechecks |
890 |
327 |
Major |
24 % |
| Mismatch Parameter Name |
All, Analyze, CompatibilityPHP80 |
41 |
29 |
Minor |
0 % |
| Mismatch Type And Default |
All, Analyze, LintButWontExec, Typechecks |
1 |
1 |
Critical |
11 % |
| Mismatched Default Arguments |
All, Analyze, Typechecks |
106 |
43 |
Minor |
33 % |
| Mismatched Typehint |
All, Analyze, Typechecks |
233 |
81 |
Major |
5 % |
| Modified Typed Parameter |
All, Analyze, ClassReview |
17 |
15 |
Minor |
0 % |
| Must Return Methods |
Analyze, All, Simple, Level 2, LintButWontExec, CI-checks |
44 |
37 |
Major |
22 % |
| Never Used Parameter |
All, Analyze, Suggestions |
178 |
143 |
Minor |
47 % |
| No Boolean As Default |
All, Analyze |
28 |
20 |
Minor |
84 % |
| No Return Used |
All, Analyze, Suggestions, Level 4 |
2 |
2 |
Minor |
41 % |
| Relay Function |
Analyze, All |
1092 |
449 |
Major |
83 % |
| Too Many Local Variables |
All, Analyze |
1 |
1 |
Minor |
65 % |
| Typehint Must Be Returned |
All, Analyze, LintButWontExec, CI-checks |
44 |
37 |
Major |
10 % |
| Undefined Functions |
Analyze, All, CI-checks |
143 |
73 |
Major |
71 % |
| Unused Arguments |
Analyze, All, Simple |
535 |
339 |
Major |
89 % |
| Useless Referenced Argument |
All, Analyze |
1 |
1 |
Minor |
57 % |
| Useless Type Check |
All, Dead code, OneFile |
38 |
31 |
Minor |
0 % |
| Uses Default Values |
Analyze, All, Simple, CI-checks |
480 |
242 |
Minor |
97 % |
| Methods Without Return |
All, Analyze |
1588 |
184 |
Minor |
0 % |
| Wrong Number Of Arguments |
Analyze, OneFile, All, Simple, CI-checks |
42 |
19 |
Major |
38 % |
| Wrong Optional Parameter |
Analyze, All, Simple, Level 1, CI-checks |
11 |
11 |
Minor |
38 % |
| Wrong Returned Type |
All, Analyze, ClassReview, CI-checks |
509 |
324 |
Minor |
0 % |
| Wrong Type With Call |
All, Analyze, Typechecks, CI-checks |
2 |
2 |
Minor |
0 % |
| Already Parents Interface |
Analyze, All, Level 3, Suggestions |
22 |
22 |
Minor |
17 % |
| Forgotten Interface |
All, Analyze |
188 |
188 |
Minor |
52 % |
| Empty Interfaces |
Analyze, All, Simple |
26 |
26 |
Minor |
38 % |
| Interfaces Is Not Implemented |
All, Analyze, ClassReview, LintButWontExec, CI-checks |
43 |
43 |
Minor |
0 % |
| Undefined Interfaces |
Analyze, All, CI-checks |
4808 |
1635 |
Major |
67 % |
| Unused Interfaces |
Dead code, All, Simple, Suggestions, Level 2 |
2 |
2 |
Minor |
25 % |
| Useless Interfaces |
Analyze, ClearPHP, All, Simple, ClassReview, Typechecks |
26 |
26 |
Minor |
57 % |
| Hidden Use Expression |
Analyze, OneFile, All, Simple, CI-checks |
19 |
4 |
Minor |
24 % |
| Multiple Alias Definitions |
Analyze, All, Simple, CI-checks |
3264 |
1454 |
Minor |
42 % |
| Should Make Alias |
Analyze, OneFile, All, Simple, CI-checks |
6 |
6 |
Minor |
44 % |
| Unresolved Use |
Analyze, ClearPHP, All, Simple |
2596 |
1470 |
Major |
65 % |
| Unused Use |
Dead code, ClearPHP, All, Simple |
387 |
301 |
Major |
54 % |
| No array_merge() In Loops |
Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10, CI-checks |
5 |
5 |
Major |
55 % |
| Logical To in_array |
All, Analyze, Level 2 |
5 |
5 |
Minor |
66 % |
| Pre-increment |
Analyze, Performances, All, Simple, Level 4, CI-checks |
2 |
1 |
Minor |
74 % |
| strpos() Too Much |
All, Analyze, CI-checks |
3 |
3 |
Minor |
46 % |
| array_key_exists() Works On Arrays |
All, CompatibilityPHP74, Analyze |
6 |
5 |
Minor |
0 % |
| Assumptions |
All, Analyze |
226 |
175 |
Minor |
0 % |
| Avoid mb_dectect_encoding() |
All, Analyze |
1 |
1 |
Minor |
0 % |
| Use random_int() |
Analyze, Security, All, CompatibilityPHP71, Simple, Level 2, CI-checks |
6 |
2 |
Major |
59 % |
| Detect Current Class |
All, Suggestions, CompatibilityPHP74 |
5 |
4 |
None |
47 % |
| Don't Pollute Global Space |
All, Analyze |
17 |
17 |
Minor |
0 % |
| Wrong Parameter Type |
Analyze, OneFile, All, Simple, CI-checks |
5 |
4 |
Major |
45 % |
| List Short Syntax |
Internal, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All, Appinfo |
14 |
10 |
Major |
10 % |
| List With Keys |
CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Appcontent, Appinfo, All |
1 |
1 |
Major |
32 % |
| No Class In Global |
All, Analyze, CI-checks |
17 |
17 |
Minor |
78 % |
| PHP 7.0 Scalar Typehints |
All, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
5174 |
1386 |
Critical |
31 % |
| PHP 7.1 Scalar Typehints |
All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
52 |
49 |
Critical |
0 % |
| PHP 7.2 Scalar Typehints |
All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
4 |
1 |
Critical |
0 % |
| PHP 7.3 Last Empty Argument |
All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
20 |
5 |
Critical |
13 % |
| Php7 Relaxed Keyword |
CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All, Appinfo |
1 |
1 |
Major |
25 % |
| PHP Keywords As Names |
Analyze, All, Simple |
942 |
173 |
Major |
89 % |
| Scalar Are Not Arrays |
All, Analyze, CompatibilityPHP74, CI-checks |
4 |
3 |
Minor |
0 % |
| Should Use Coalesce |
Analyze, All, Simple, Suggestions, Level 3, CI-checks |
2 |
2 |
Major |
71 % |
| Trailing Comma In Calls |
All, CompatibilityPHP53, CompatibilityPHP70, Appinfo, CompatibilityPHP71, CompatibilityPHP72, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
20 |
5 |
Minor |
0 % |
| Use Nullable Type |
All, Appinfo, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 |
1763 |
529 |
Major |
21 % |
| Avoid Using stdClass |
All, Analyze, OneFile, Simple, Level 4 |
29 |
25 |
Minor |
45 % |
| Usort Sorting In PHP 7.0 |
CompatibilityPHP70, All |
4 |
4 |
Major |
46 % |
| Wrong Type For Native PHP Function |
All, Analyze, CI-checks |
30 |
21 |
Minor |
0 % |
| Avoid Those Hash Functions |
Security, All |
2 |
2 |
Major |
60 % |
| filter_input() As A Source |
All, Security |
1 |
1 |
Minor |
6 % |
| Keep Files Access Restricted |
All, Security |
1 |
1 |
Minor |
0 % |
| No Net For Xml Load |
All, Security |
81 |
48 |
Major |
49 % |
| Avoid sleep()/usleep() |
Security, All |
4 |
3 |
Minor |
39 % |
| Unserialize Second Arg |
Security, All |
3 |
3 |
Critical |
49 % |
| Adding Zero |
Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks |
8 |
4 |
Minor |
33 % |
| Altering Foreach Without Reference |
Analyze, ClearPHP, All, Simple, Level 1, CI-checks |
1 |
1 |
Major |
52 % |
| Constant Comparison |
All, Analyze |
40 |
33 |
Minor |
0 % |
| Array_merge Needs Array Of Arrays |
All, Analyze |
3 |
3 |
Minor |
0 % |
| Strict Comparison With Booleans |
Analyze, All, Simple, Suggestions, Level 2, CI-checks |
16 |
14 |
Minor |
76 % |
| Buried Assignation |
Analyze, All |
39 |
26 |
Minor |
82 % |
| Cast To Boolean |
Analyze, OneFile, All, Simple, Level 1 |
6 |
4 |
Minor |
55 % |
| Check All Types |
All, Analyze |
3 |
3 |
Major |
68 % |
| Common Alternatives |
Analyze, All, Simple |
2 |
2 |
Major |
61 % |
| Could Be Else |
All, Analyze |
1 |
1 |
Minor |
48 % |
| Could Use Short Assignation |
Analyze, OneFile, Performances, All, Simple, CI-checks |
6 |
6 |
Minor |
60 % |
| Dont Change The Blind Var |
All, Analyze |
4 |
4 |
Minor |
72 % |
| Dont Mix ++ |
All, Analyze |
3 |
3 |
Minor |
43 % |
| Double Instructions |
Analyze, All, Simple |
18 |
14 |
Minor |
57 % |
| Empty Instructions |
Dead code, Analyze, All, Simple |
9 |
9 |
Minor |
43 % |
| Empty Try Catch |
Analyze, All, Level 3 |
14 |
12 |
Minor |
47 % |
| Identical Consecutive Expression |
All, Analyze |
20 |
13 |
Minor |
58 % |
| Iffectations |
Analyze, All |
30 |
18 |
Minor |
80 % |
| Inconsistent Elseif |
All, Analyze |
1 |
1 |
Major |
73 % |
| Infinite Recursion |
All, Analyze |
111 |
47 |
Major |
0 % |
| list() May Omit Variables |
Analyze, All, Simple, Suggestions, Level 3, CI-checks |
1 |
1 |
Minor |
37 % |
| Long Arguments |
All, Analyze |
482 |
93 |
Minor |
67 % |
| Max Level Of Nesting |
All, Analyze |
2 |
2 |
Minor |
0 % |
| Merge If Then |
All, Analyze, CI-checks |
3 |
3 |
Minor |
0 % |
| Modernize Empty With Expression |
All, Analyze, OneFile, Simple |
19 |
14 |
Minor |
56 % |
| Nested Ifthen |
Analyze, All, RadwellCodes |
1 |
1 |
Major |
87 % |
| Don't Change Incomings |
Analyze, All |
7 |
1 |
Minor |
44 % |
| No Hardcoded Hash |
Analyze, Security, All, Simple |
10 |
3 |
Critical |
44 % |
| No Hardcoded Ip |
Analyze, ClearPHP, Security, All, Simple |
4 |
2 |
Minor |
24 % |
| No isset() With empty() |
All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4, CI-checks |
2 |
1 |
Minor |
28 % |
| No Need For Triple Equal |
All, Analyze |
81 |
45 |
Minor |
0 % |
| Variable Is Not A Condition |
All, Analyze |
72 |
47 |
Minor |
57 % |
| @ Operator |
Appinfo, ClearPHP, All, Analyze, Performances, CI-checks |
38 |
36 |
Minor |
66 % |
| Several Instructions On The Same Line |
Analyze, All |
2 |
2 |
Major |
57 % |
| Printf Number Of Arguments |
All, Analyze, CI-checks |
1 |
1 |
Minor |
42 % |
| Should Chain Exception |
Analyze, All, Simple, CI-checks |
6 |
5 |
Minor |
36 % |
| Should Make Ternary |
All, Analyze, OneFile, Simple, CI-checks |
7 |
7 |
Minor |
85 % |
| Preprocessable |
Analyze, All, Rector |
14 |
11 |
Minor |
86 % |
| Static Loop |
Analyze, All, Simple, Level 4 |
12 |
11 |
Minor |
65 % |
| Strpos()-like Comparison |
Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10, CI-checks |
1 |
1 |
Major |
54 % |
| Suspicious Comparison |
All, Analyze, Level 3 |
5 |
3 |
Major |
15 % |
| Switch To Switch |
Analyze, All, RadwellCodes, Simple |
1 |
1 |
Minor |
79 % |
| Switch Without Default |
Analyze, ClearPHP, All, Simple, CI-checks |
7 |
7 |
Major |
68 % |
| Test Then Cast |
All, Analyze |
1 |
1 |
Major |
32 % |
| Unchecked Resources |
Analyze, ClearPHP, All, Simple, Level 2, CI-checks |
1 |
1 |
Major |
49 % |
| Unconditional Break In Loop |
All, Analyze, Level 3, CI-checks |
1 |
1 |
Major |
46 % |
| Unreachable Code |
Dead code, OneFile, ClearPHP, All, Simple, Suggestions, Level 3 |
8 |
5 |
Major |
44 % |
| Use Positive Condition |
All, Analyze, OneFile, Simple |
5 |
5 |
Minor |
81 % |
| Useless Casting |
All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4, CI-checks |
20 |
17 |
Minor |
37 % |
| Useless Instructions |
Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks |
29 |
23 |
Minor |
58 % |
| Useless Parenthesis |
Analyze, All, Simple, CI-checks |
13 |
10 |
Minor |
81 % |
| Dependant Trait |
Analyze, All, Level 3 |
4 |
4 |
Minor |
26 % |
| Trait Not Found |
All, Analyze, LintButWontExec |
9 |
9 |
Minor |
0 % |
| No Real Comparison |
Analyze, All, Simple, Level 2, Top10, CI-checks |
2 |
2 |
Major |
22 % |
| String May Hold A Variable |
Analyze, All, Simple |
7 |
5 |
Minor |
58 % |
| Missing Returntype In Method |
All, Typehints, Analyze, CI-checks |
206 |
149 |
Minor |
0 % |
| Assigned Twice |
All, Analyze |
8 |
4 |
Minor |
78 % |
| Overwritten Literals |
Analyze, All |
8 |
4 |
Major |
78 % |
| Undefined Variable |
All, Analyze, CI-checks |
54 |
6 |
Minor |
77 % |
| Used Once Variables |
Analyze, OneFile, All, Simple, Top10 |
3 |
3 |
Minor |
87 % |
| Used Once Variables (In Scope) |
Analyze, ClearPHP, OneFile, All, Simple, Level 4 |
705 |
425 |
Minor |
95 % |
| Written Only Variables |
Analyze, OneFile, All, Simple |
135 |
94 |
Minor |
78 % |