PHP Static analysis for xmbforum

Label Recipes Issues Files Severity Frequence
Null Or Boolean Arrays All, Analyze 11 3 Minor 0 %
String Initialization All, CompatibilityPHP71 152 17 Minor 33 %
Avoid Optional Properties All, Analyze 18 2 Major 83 %
Class Could Be Final All, Analyze, ClassReview 8 8 Minor 95 %
Method Could Be Static All, Analyze, ClassReview 7 5 Minor 95 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2 8 1 Minor 49 %
Make Global A Property Analyze, All, Simple 7 4 Minor 33 %
Non Nullable Getters All, Analyze, ClassReview 1 1 Minor 0 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1 112 7 Minor 42 %
Old Style Constructor Analyze, OneFile, Appinfo, ClearPHP, All, Simple 4 4 Minor 14 %
Var Keyword Analyze, OneFile, ClearPHP, All, Simple, Level 1 34 4 Minor 22 %
Property Used In One Method Only All, Analyze 2 2 Minor 84 %
Should Use Local Class Analyze, ClearPHP, All, Simple 7 5 Minor 94 %
Undefined Classes Analyze, All 1 1 Major 91 %
Undefined Properties Analyze, ClearPHP, All, Simple 16 1 Major 58 %
Unresolved Classes Analyze, All 1 1 Major 86 %
Unused Methods Dead code, All, Simple 11 5 Minor 95 %
Use Class Operator All, Analyze, Performances, Simple 6 3 Minor 74 %
Used Once Property All, Analyze 1 1 Minor 72 %
Use const Analyze, Coding Conventions, All, Top10 91 29 Minor 57 %
Constants With Strange Names Analyze, All, Simple 72 27 Minor 1 %
Invalid Constant Name Analyze, All, Simple 72 27 Major 1 %
Multiple Constant Definition Analyze, All, Simple 23 4 Minor 32 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72 34 21 Minor 54 %
Unused Constants Dead code, All, Simple 4 2 Minor 36 %
Missing Include All, Analyze 72 24 Critical 61 %
Aliases Usage Analyze, ClearPHP, OneFile, All, Simple, Level 1 5 3 Minor 42 %
Use Named Boolean In Argument Definition All, Analyze 34 9 Minor 84 %
Could Make A Function All, Analyze, Suggestions 865 40 Minor 75 %
Hardcoded Passwords Analyze, OneFile, Security, All, Simple, Level 3 8 4 Major 61 %
Mismatched Default Arguments All, Analyze, Typechecks 30 7 Minor 33 %
Mismatched Typehint All, Analyze, Typechecks 4 2 Major 5 %
Never Used Parameter All, Analyze, Suggestions 15 8 Minor 47 %
No Boolean As Default All, Analyze 34 9 Minor 84 %
No Return Used All, Analyze, Suggestions, Level 4 3 2 Minor 41 %
Too Many Local Variables All, Analyze 7 5 Minor 65 %
Unused Arguments Analyze, All, Simple 8 5 Major 89 %
Unused Functions Dead code, All, Simple 15 4 Minor 53 %
Unused Returned Value All, Analyze, OneFile, Dead code, Simple 362 28 Minor 39 %
Use Constant As Arguments Analyze, All, Simple 1 1 Major 25 %
Useless Referenced Argument All, Analyze 13 8 Minor 57 %
Uses Default Values Analyze, All, Simple 997 40 Minor 97 %
Methods Without Return All, Analyze 73 13 Minor 0 %
Wrong Argument Type All, Analyze, Typechecks 27 21 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple 22 7 Major 38 %
Wrong Optional Parameter Analyze, All, Simple, Level 1 3 2 Minor 38 %
Wrong Type With Call All, Analyze, Typechecks 18 6 Minor 0 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10 1 1 Major 55 %
Logical To in_array All, Analyze, Level 2 43 9 Minor 66 %
Pre-increment Analyze, Performances, All, Simple, Level 4 83 21 Minor 74 %
strpos() Too Much All, Analyze 1 1 Minor 46 %
Assign With And All, Analyze 2 1 Critical 8 %
Use random_int() Analyze, Security, All, CompatibilityPHP71, Simple, Level 2 31 4 Major 59 %
Concat And Addition All, Analyze, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, CompatibilityPHP73, CompatibilityPHP54, CompatibilityPHP74, CompatibilityPHP80, CompatibilityPHP55, CompatibilityPHP56, Top10 2 1 Minor 0 %
Deprecated Functions Analyze, All 1 1 Major 22 %
Incompilable Files Analyze, Appinfo, ClearPHP, All, Simple 1 1 Critical 0 %
Wrong Parameter Type Analyze, OneFile, All, Simple 55 19 Major 45 %
Use === null Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable 11 5 Minor 52 %
Logical Should Use Symbolic Operators Analyze, OneFile, ClearPHP, All, Simple, Suggestions, Level 2, Top10, php-cs-fixable 194 27 Minor 42 %
Possible Missing Subpattern All, Analyze, Top10 1 1 Minor 40 %
No Class In Global All, Analyze 187 23 Minor 78 %
PHP 8.0 Removed Functions All, CompatibilityPHP80 2 1 Major 0 %
PHP Keywords As Names Analyze, All, Simple 108 12 Major 89 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3 23 5 Major 71 %
Too Many Native Calls All, Analyze 1 1 Minor 47 %
Unknown Pcre2 Option All, Analyze, CompatibilityPHP73 5 4 Minor 15 %
Use Nullable Type All, Appinfo, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 8 2 Major 21 %
Wrong Type For Native PHP Function All, Analyze 1037 37 Minor 0 %
Always Anchor Regex All, Security 4 4 Major 65 %
Avoid Those Hash Functions Security, All 11 8 Major 60 %
Direct Injection Security, All 11 7 Major 41 %
Encoded Simple Letters All, Security 6 3 Minor 40 %
Indirect Injection Security, All 16 8 Critical 21 %
Keep Files Access Restricted All, Security 1 1 Minor 0 %
Avoid sleep()/usleep() Security, All 1 1 Minor 39 %
Should Use Prepared Statement Analyze, Security, All, Simple 569 29 Major 22 %
Adding Zero Analyze, OneFile, ClearPHP, All, Simple, Level 1 20 6 Minor 33 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1 3 2 Major 52 %
Array_merge Needs Array Of Arrays All, Analyze 2 2 Minor 0 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4 10 6 Minor 92 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2 40 14 Minor 76 %
Buried Assignation Analyze, All 22 12 Minor 82 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1 6 3 Minor 55 %
Check All Types All, Analyze 9 4 Major 68 %
Common Alternatives Analyze, All, Simple 104 15 Major 61 %
Could Be Else All, Analyze 8 5 Minor 48 %
Could Be Static Analyze, OneFile, All, ClassReview 5 3 Major 20 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple 3 3 Minor 60 %
Could Use str_repeat() All, Analyze, Level 1, Top10 1 1 Minor 12 %
Dont Change The Blind Var All, Analyze 16 7 Minor 72 %
Dont Mix ++ All, Analyze 1 1 Minor 43 %
Don't Read And Write In One Expression All, Analyze, CompatibilityPHP73, CompatibilityPHP74 4 3 Critical 38 %
Double Assignation Analyze, All 11 7 Major 55 %
Double Instructions Analyze, All, Simple 3 3 Minor 57 %
Drop Else After Return All, Analyze, OneFile, Simple, Suggestions, Level 4 12 6 Minor 70 %
Echo With Concat Performances, Analyze, All, Simple, Suggestions 88 8 Minor 58 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector 166 23 Minor 65 %
Empty Blocks Analyze, All, Simple 7 4 Minor 57 %
Empty Instructions Dead code, Analyze, All, Simple 1414 6 Minor 43 %
Eval() Usage Analyze, Appinfo, Performances, OneFile, ClearPHP, All, Simple, Security 382 25 Major 37 %
eval() Without Try Analyze, All, Simple, Level 3, Security 382 25 Critical 34 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All 85 26 Major 60 %
Global Usage Analyze, Appinfo, ClearPHP, All 498 19 Minor 52 %
Htmlentities Calls Analyze, All, Simple 14 4 Major 39 %
Identical Consecutive Expression All, Analyze 1 1 Minor 58 %
Identical On Both Sides All, Analyze 1 1 Major 19 %
If With Same Conditions Analyze, All, Simple 15 4 Major 44 %
Iffectations Analyze, All 21 11 Minor 80 %
Implode() Arguments Order All, Analyze 15 8 Minor 0 %
Inconsistent Elseif All, Analyze 28 16 Major 73 %
Invalid Regex All, Analyze 2 2 Major 18 %
Lone Blocks Analyze, All, Simple, Level 4 1 1 Minor 14 %
Long Arguments All, Analyze 3 3 Minor 67 %
Max Level Of Nesting All, Analyze 15 6 Minor 0 %
Merge If Then All, Analyze 85 19 Minor 0 %
Mixed Concat And Interpolation All, Coding Conventions, Analyze 38 10 Minor 43 %
Modernize Empty With Expression All, Analyze, OneFile, Simple 3 3 Minor 56 %
Multiples Identical Case Analyze, OneFile, ClearPHP, All, Simple, Level 1 1 1 Minor 10 %
Multiple Type Variable All, Analyze, Level 4 60 20 Minor 43 %
Multiply By One Analyze, OneFile, ClearPHP, All, Simple, Level 1 3 2 Minor 17 %
Nested Ifthen Analyze, All, RadwellCodes 304 28 Major 87 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1 4 3 Major 20 %
Don't Change Incomings Analyze, All 9 2 Minor 44 %
No Choice Analyze, All, Simple, Level 2, Top10 1 1 Major 43 %
No isset() With empty() All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4 2 1 Minor 28 %
No Need For Else All, Analyze 20 11 Minor 74 %
No Parenthesis For Language Construct Analyze, ClearPHP, All, RadwellCodes, Simple, Suggestions, Level 2 50 15 Minor 61 %
Avoid Substr() One Analyze, Performances, All, CompatibilityPHP71, Simple, Level 2, Suggestions, Top10 9 6 Minor 57 %
Variable Is Not A Condition All, Analyze 191 25 Minor 57 %
@ Operator Appinfo, ClearPHP, All, Analyze, Performances 29 11 Minor 66 %
include_once() Usage Analyze, Appinfo, All 9 5 Minor 73 %
Several Instructions On The Same Line Analyze, All 340 7 Major 57 %
Print And Die Analyze, All, Simple 5 3 Minor 29 %
Repeated print() Analyze, All, Simple, Suggestions, Level 3, Top10 11 4 Major 49 %
Repeated Regex All, Analyze, Level 1 4 4 Minor 47 %
Results May Be Missing Analyze, All, Simple 1 1 Major 18 %
Return True False Analyze, All, Simple, Level 1 8 5 Major 53 %
Same Conditions In Condition Analyze, All, Simple 3 3 Critical 49 %
Should Make Ternary All, Analyze, OneFile, Simple 209 25 Minor 85 %
Preprocessable Analyze, All, Rector 289 38 Minor 86 %
Static Loop Analyze, All, Simple, Level 4 6 4 Minor 65 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10 13 6 Major 54 %
Suspicious Comparison All, Analyze, Level 3 1 1 Major 15 %
Switch To Switch Analyze, All, RadwellCodes, Simple 43 9 Minor 79 %
Switch Without Default Analyze, ClearPHP, All, Simple 11 7 Major 68 %
Test Then Cast All, Analyze 2 1 Major 32 %
Timestamp Difference Analyze, All, Simple, Level 3 11 5 Major 50 %
Unchecked Resources Analyze, ClearPHP, All, Simple, Level 2 7 5 Major 49 %
Unreachable Code Dead code, OneFile, ClearPHP, All, Simple, Suggestions, Level 3 18 6 Major 44 %
Unset In Foreach Dead code, Analyze, OneFile, All, Simple 1 1 Major 34 %
Unused Global Analyze, All, Simple 153 4 Minor 18 %
Use Positive Condition All, Analyze, OneFile, Simple 81 21 Minor 81 %
Useless Brackets Analyze, All, RadwellCodes, Simple 1 1 Minor 14 %
Useless Casting All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4 1 1 Minor 37 %
Useless Global Analyze, OneFile, All, Simple, Level 2 7 3 Minor 24 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1 6 4 None 58 %
Useless Parenthesis Analyze, All, Simple 107 20 Minor 81 %
Useless Unset Analyze, OneFile, ClearPHP, All, Simple, Level 2 2 1 Major 28 %
var_dump()... Usage Analyze, ClearPHP, Security, All 2 1 Critical 40 %
One Variable String Analyze, All, RadwellCodes, Simple 4 2 Minor 29 %
Should Typecast Analyze, OneFile, All, Simple 120 18 Minor 47 %
String May Hold A Variable Analyze, All, Simple 287 26 Minor 58 %
Assigned Twice All, Analyze 107 12 Minor 78 %
Overwritten Literals Analyze, All 123 12 Major 78 %
Strange Name For Variables All, Analyze 51 10 Minor 28 %
Undefined Variable All, Analyze 3513 31 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 97 24 Minor 87 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4 331 31 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple 128 8 Minor 78 %