PHP Static analysis for

Label Recipes Issues Files Severity Frequence
Non-constant Index In Array Analyze, All, Simple 3 1 Minor 26 %
Null Or Boolean Arrays All, Analyze 2 2 Minor 0 %
String Initialization All, CompatibilityPHP71 18 6 Minor 33 %
Too Many Array Dimensions All, Analyze 44 12 Minor 0 %
Abstract Or Implements All, Analyze, LintButWontExec 1 1 Major 4 %
Ambiguous Visibilities All, Analyze 10 10 Minor 70 %
Avoid Optional Properties All, Analyze 21 5 Major 83 %
Child Class Removes Typehint All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Typechecks 7 3 Major 1 %
Could Be Abstract Class All, Analyze, ClassReview 5 4 Minor 65 %
Class Could Be Final All, Analyze, ClassReview 32 24 Minor 95 %
Method Could Be Static All, Analyze, ClassReview 61 17 Minor 95 %
Don't Unset Properties All, Analyze, Top10, php-cs-fixable 11 4 Major 40 %
Empty Classes Analyze, All, Simple 3 1 Minor 58 %
Hidden Nullable All, Analyze, ClassReview 6 1 Minor 0 %
Locally Unused Property Dead code, All, Simple 26 9 Minor 76 %
Make Global A Property Analyze, All, Simple 2 1 Minor 33 %
Method Signature Must Be Compatible All, Analyze, LintButWontExec 12 3 Critical 50 %
No Public Access Analyze, All 4 4 Minor 60 %
Non Nullable Getters All, Analyze, ClassReview 12 2 Minor 0 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1 16 7 Minor 42 %
Non Static Methods Called In A Static Analyze, CompatibilityPHP56, All, Simple, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55 62 10 Minor 20 %
Never Used Properties Analyze, All, Simple 26 9 Minor 72 %
Property Used In One Method Only All, Analyze 5 4 Minor 84 %
Redefined Default Analyze, All, Simple 10 8 Major 26 %
Should Use Local Class Analyze, ClearPHP, All, Simple 23 6 Minor 94 %
Wrong Access Style to Property All, Analyze, Level 2, ClassReview 42 1 Critical 3 %
Undefined Classes Analyze, All 59 19 Major 91 %
Undefined Parent Analyze, All, Simple 43 14 Minor 63 %
Undefined Properties Analyze, ClearPHP, All, Simple 80 8 Major 58 %
Unresolved Classes Analyze, All 9 6 Major 86 %
Unused Classes Dead code, All, Simple, Analyze 4 2 Major 72 %
Unused Methods Dead code, All, Simple 146 22 Minor 95 %
Unused Protected Methods Dead code, All 3 2 Major 72 %
Use Class Operator All, Analyze, Performances, Simple 77 12 Minor 74 %
Use Instanceof Analyze, All, Simple 21 5 Major 63 %
Used Once Property All, Analyze 1 1 Minor 72 %
Use const Analyze, Coding Conventions, All, Top10 5 1 Minor 57 %
Constants With Strange Names Analyze, All, Simple 5 1 Minor 1 %
Invalid Constant Name Analyze, All, Simple 5 1 Major 1 %
Multiple Constant Definition Analyze, All, Simple 2 1 Minor 32 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72 39 5 Minor 54 %
Unused Constants Dead code, All, Simple 1 1 Minor 36 %
Uncaught Exceptions Analyze, All 2 2 Minor 81 %
Use Named Boolean In Argument Definition All, Analyze 14 9 Minor 84 %
Could Make A Function All, Analyze, Suggestions 21 5 Minor 75 %
Empty Function Analyze, All, Simple 6 3 Minor 71 %
Hardcoded Passwords Analyze, OneFile, Security, All, Simple, Level 3 3 3 Major 61 %
Mismatched Default Arguments All, Analyze, Typechecks 38 14 Minor 33 %
Mismatched Typehint All, Analyze, Typechecks 54 20 Major 5 %
Never Used Parameter All, Analyze, Suggestions 74 11 Minor 47 %
No Boolean As Default All, Analyze 14 9 Minor 84 %
Relay Function Analyze, All 12 4 Major 83 %
Too Many Local Variables All, Analyze 1 1 Minor 65 %
Undefined Functions Analyze, All 864 37 Major 71 %
Unused Arguments Analyze, All, Simple 70 25 Major 89 %
Unused Functions Dead code, All, Simple 171 23 Minor 53 %
Unused Returned Value All, Analyze, OneFile, Dead code, Simple 13 5 Minor 39 %
Useless Referenced Argument All, Analyze 2 1 Minor 57 %
Uses Default Values Analyze, All, Simple 117 22 Minor 97 %
Methods Without Return All, Analyze 133 36 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple 4 2 Major 38 %
Wrong Optional Parameter Analyze, All, Simple, Level 1 9 2 Minor 38 %
Wrong Type With Call All, Analyze, Typechecks 5 4 Minor 0 %
Interfaces Is Not Implemented All, Analyze, ClassReview 6 2 Minor 0 %
Undefined Interfaces Analyze, All 5 1 Major 67 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks 4 3 Minor 57 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10 6 5 Major 55 %
Logical To in_array All, Analyze, Level 2 9 3 Minor 66 %
Pre-increment Analyze, Performances, All, Simple, Level 4 2 2 Minor 74 %
strpos() Too Much All, Analyze 5 3 Minor 46 %
array_key_exists() Works On Arrays All, CompatibilityPHP74, Analyze 4 1 Minor 0 %
List With Keys CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Appcontent, Appinfo, All 7 4 Major 32 %
No Class In Global All, Analyze 277 42 Minor 78 %
PHP Keywords As Names Analyze, All, Simple 166 13 Major 89 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3 79 17 Major 71 %
Unknown Pcre2 Option All, Analyze, CompatibilityPHP73 1 1 Minor 15 %
Use Nullable Type All, Appinfo, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 76 21 Major 21 %
Avoid Using stdClass All, Analyze, OneFile, Simple, Level 4 1 1 Minor 45 %
Direct Injection Security, All 1 1 Major 41 %
Unserialize Second Arg Security, All 1 1 Critical 49 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1 3 2 Major 52 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4 3 2 Minor 92 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2 21 4 Minor 76 %
Buried Assignation Analyze, All 35 12 Minor 82 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1 2 1 Minor 55 %
Check All Types All, Analyze 9 5 Major 68 %
Common Alternatives Analyze, All, Simple 13 4 Major 61 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple 2 2 Minor 60 %
Could Use str_repeat() All, Analyze, Level 1, Top10 1 1 Minor 12 %
Dont Change The Blind Var All, Analyze 46 20 Minor 72 %
Dont Mix ++ All, Analyze 2 2 Minor 43 %
Double Instructions Analyze, All, Simple 1 1 Minor 57 %
Drop Else After Return All, Analyze, OneFile, Simple, Suggestions, Level 4 19 8 Minor 70 %
Empty Instructions Dead code, Analyze, All, Simple 14 2 Minor 43 %
Empty Try Catch Analyze, All, Level 3 9 3 Minor 47 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All 1 1 Major 60 %
Global Usage Analyze, Appinfo, ClearPHP, All 12 4 Minor 52 %
Iffectations Analyze, All 53 17 Minor 80 %
Inconsistent Elseif All, Analyze 9 6 Major 73 %
list() May Omit Variables Analyze, All, Simple, Suggestions, Level 3 5 2 Minor 37 %
Long Arguments All, Analyze 9 7 Minor 67 %
Max Level Of Nesting All, Analyze 7 4 Minor 0 %
Merge If Then All, Analyze 24 12 Minor 0 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4 9 7 Major 62 %
Missing Cases In Switch All, Analyze 4 3 Minor 2 %
Missing New ? All, Analyze 3 2 Critical 5 %
Mixed Concat And Interpolation All, Coding Conventions, Analyze 4 1 Minor 43 %
Modernize Empty With Expression All, Analyze, OneFile, Simple 1 1 Minor 56 %
Multiple Type Variable All, Analyze, Level 4 2 2 Minor 43 %
Nested Ifthen Analyze, All, RadwellCodes 15 9 Major 87 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1 2 2 Major 20 %
No Need For Else All, Analyze 24 8 Minor 74 %
No Parenthesis For Language Construct Analyze, ClearPHP, All, RadwellCodes, Simple, Suggestions, Level 2 1 1 Minor 61 %
Variable Is Not A Condition All, Analyze 77 17 Minor 57 %
include_once() Usage Analyze, Appinfo, All 1 1 Minor 73 %
Several Instructions On The Same Line Analyze, All 2 1 Major 57 %
Should Make Ternary All, Analyze, OneFile, Simple 17 10 Minor 85 %
Preprocessable Analyze, All, Rector 113 22 Minor 86 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10 1 1 Major 54 %
Switch Without Default Analyze, ClearPHP, All, Simple 22 6 Major 68 %
Unconditional Break In Loop All, Analyze, Level 3 1 1 Major 46 %
Use Positive Condition All, Analyze, OneFile, Simple 8 6 Minor 81 %
Useless Check All, Analyze, OneFile, Simple, Level 1 1 1 Minor 48 %
Useless Global Analyze, OneFile, All, Simple, Level 2 2 2 Minor 24 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1 2 2 None 58 %
Useless Parenthesis Analyze, All, Simple 8 6 Minor 81 %
Useless Switch Analyze, All, Simple 4 1 Major 30 %
Useless Unset Analyze, OneFile, ClearPHP, All, Simple, Level 2 5 2 Major 28 %
String May Hold A Variable Analyze, All, Simple 2 1 Minor 58 %
Assigned Twice All, Analyze 16 6 Minor 78 %
Overwritten Literals Analyze, All 23 6 Major 78 %
Undefined Variable All, Analyze 94 9 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 8 4 Minor 87 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4 158 31 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple 29 13 Minor 78 %