PHP Static analysis for phpmyadmin

Label Recipes Issues Files Severity Frequence
Null Or Boolean Arrays All, Analyze 71 19 Minor 0 %
Randomly Sorted Arrays All, Analyze, Level 4, Suggestions 6 1 Minor 41 %
String Initialization All, CompatibilityPHP71 51 18 Minor 33 %
Too Many Array Dimensions All, Analyze 235 37 Minor 0 %
Ambiguous Static All, Analyze 238 146 Minor 64 %
Ambiguous Visibilities All, Analyze 245 131 Minor 70 %
Avoid option arrays in constructors All, Analyze, ClassReview 1 1 Minor 0 %
Avoid Optional Properties All, Analyze 90 31 Major 83 %
Cant Instantiate Class All, Analyze 16 15 Critical 28 %
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 88 15 Minor 16 %
Could Be Abstract Class All, Analyze, ClassReview 5 5 Minor 65 %
Class Could Be Final All, Analyze, ClassReview 376 376 Minor 95 %
Method Could Be Static All, Analyze, ClassReview 422 154 Minor 95 %
Dependant Abstract Classes All, Analyze, ClassReview 1 1 Minor 0 %
No Direct Call To Magic Method Analyze, All, Level 2 207 2 Major 41 %
Don't Send $this In Constructor All, Analyze 3 3 Minor 39 %
Don't Unset Properties All, Analyze, Top10, php-cs-fixable 5 3 Major 40 %
Empty Classes Analyze, All, Simple 10 10 Minor 58 %
Class Should Be Final By Ocramius All, Analyze 7 7 Minor 42 %
Incompatible Signature Methods With Covariance All, Analyze 20 20 Critical 0 %
Locally Unused Property Dead code, All, Simple 40 23 Minor 76 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2 73 30 Minor 49 %
Make Global A Property Analyze, All, Simple 3448 218 Minor 33 %
Method Signature Must Be Compatible All, Analyze, LintButWontExec 54 33 Critical 50 %
Mismatch Properties Typehints All, Analyze, LintButWontExec, ClassReview 74 18 Minor 0 %
No Public Access Analyze, All 110 50 Minor 60 %
Non Nullable Getters All, Analyze, ClassReview 128 51 Minor 0 %
Non Static Methods Called In A Static Analyze, CompatibilityPHP56, All, Simple, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55 7 7 Minor 20 %
Parent First All, Analyze, Suggestions 7 7 Minor 55 %
Property Could Be Local All, Analyze, ClassReview 149 61 Minor 71 %
Never Used Properties Analyze, All, Simple 16 11 Minor 72 %
Property Used In One Method Only All, Analyze 72 41 Minor 84 %
Redefined Default Analyze, All, Simple 45 17 Major 26 %
Could Use self Analyze, All, Simple, Suggestions, Level 3, ClassReview 32 28 Minor 57 %
Should Use Local Class Analyze, ClearPHP, All, Simple 620 188 Minor 94 %
Static Methods Called From Object Analyze, All, Simple 16 4 Minor 38 %
Too Many Injections All, Analyze, Dismell 1 1 Minor 0 %
Wrong Access Style to Property All, Analyze, Level 2, ClassReview 47 2 Critical 3 %
Undefined Classes Analyze, All 479 116 Major 91 %
Undefined Class Constants Analyze, All 34 7 Major 53 %
Undefined Parent Analyze, All, Simple 2 1 Minor 63 %
Undefined Properties Analyze, ClearPHP, All, Simple 16 5 Major 58 %
Undefined static:: Or self:: Analyze, All, Simple 5 2 Minor 33 %
Undefined ::class All, Analyze 8 4 Major 34 %
Unresolved Catch Dead code, ClearPHP, All 6 3 Major 51 %
Unresolved Classes Analyze, All 115 31 Major 86 %
Unresolved Instanceof Analyze, Dead code, ClearPHP, All, Simple, Top10 27 8 Major 48 %
Unused Classes Dead code, All, Simple, Analyze 37 37 Major 72 %
Unused Class Constant All, Analyze, ClassReview 7 2 Minor 0 %
Unused Methods Dead code, All, Simple 918 306 Minor 95 %
Unused Private Properties Dead code, OneFile, All, Simple 2 1 Minor 37 %
Unused Protected Methods Dead code, All 17 15 Major 72 %
Use Instanceof Analyze, All, Simple 11 9 Major 63 %
Used Once Property All, Analyze 22 11 Minor 72 %
Useless Constructor Analyze, All, Simple, Level 3 7 7 Minor 38 %
Weak Typing All, Analyze 25 16 Minor 41 %
Use const Analyze, Coding Conventions, All, Top10 40 19 Minor 57 %
Constants With Strange Names Analyze, All, Simple 26 18 Minor 1 %
Invalid Constant Name Analyze, All, Simple 26 18 Major 1 %
Multiple Constant Definition Analyze, All, Simple 31 21 Minor 32 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72 106 50 Minor 54 %
Catch Undefined Variable All, Analyze 4 1 Minor 0 %
Undefined Caught Exceptions Dead code, All 2 1 None 50 %
Overwritten Exceptions Analyze, All, Simple, Suggestions, Level 4 1 1 Minor 19 %
Uncaught Exceptions Analyze, All 4 2 Minor 81 %
Missing Include All, Analyze 17 13 Critical 61 %
Use Named Boolean In Argument Definition All, Analyze 167 74 Minor 84 %
Callback Needs Return All, Analyze 6 2 Major 51 %
Could Make A Function All, Analyze, Suggestions 790 156 Minor 75 %
Dont Collect Void All, Analyze 146 3 Minor 0 %
Empty Function Analyze, All, Simple 20 13 Minor 71 %
Hardcoded Passwords Analyze, OneFile, Security, All, Simple, Level 3 29 15 Major 61 %
Mismatched Default Arguments All, Analyze, Typechecks 258 89 Minor 33 %
Mismatched Typehint All, Analyze, Typechecks 318 84 Major 5 %
Never Used Parameter All, Analyze, Suggestions 427 139 Minor 47 %
No Boolean As Default All, Analyze 167 74 Minor 84 %
No Return Used All, Analyze, Suggestions, Level 4 14 7 Minor 41 %
Only Variable For Reference All, Analyze, LintButWontExec 2 1 Critical 24 %
Only Variable Passed By Reference All, Analyze 3 2 Critical 40 %
Relay Function Analyze, All 35 18 Major 83 %
Should Use Constants Analyze, All, Simple 1 1 Minor 24 %
Too Many Local Variables All, Analyze 75 52 Minor 65 %
Typehint Must Be Returned All, Analyze, LintButWontExec 194 96 Major 10 %
Typehinted References All, Analyze 7 6 Minor 12 %
Undefined Functions Analyze, All 2763 236 Major 71 %
Unused Arguments Analyze, All, Simple 51 27 Major 89 %
Use Constant As Arguments Analyze, All, Simple 1 1 Major 25 %
Useless Referenced Argument All, Analyze 29 19 Minor 57 %
Useless Type Check All, Dead code, OneFile 22 12 Minor 0 %
Uses Default Values Analyze, All, Simple 2971 269 Minor 97 %
Methods Without Return All, Analyze 265 105 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple 86 54 Major 38 %
Wrong Returned Type All, Analyze, ClassReview 133 44 Minor 0 %
Wrong Type With Call All, Analyze, Typechecks 4 1 Minor 0 %
Interfaces Is Not Implemented All, Analyze, ClassReview, LintButWontExec 19 19 Minor 0 %
Undefined Interfaces Analyze, All 73 19 Major 67 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks 3 3 Minor 57 %
Multiple Alias Definitions Analyze, All, Simple 55 47 Minor 42 %
Should Make Alias Analyze, OneFile, All, Simple 14 1 Minor 44 %
Unresolved Use Analyze, ClearPHP, All, Simple 2652 314 Major 65 %
Unused Use Dead code, ClearPHP, All, Simple 2559 303 Major 54 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10 19 14 Major 55 %
Logical To in_array All, Analyze, Level 2 129 50 Minor 66 %
Pre-increment Analyze, Performances, All, Simple, Level 4 300 81 Minor 74 %
strpos() Too Much All, Analyze 5 4 Minor 46 %
Use array_slice() All, Analyze 1 1 Minor 0 %
array_key_exists() Works On Arrays All, CompatibilityPHP74, Analyze 16 15 Minor 0 %
Avoid mb_dectect_encoding() All, Analyze 2 2 Minor 0 %
Use random_int() Analyze, Security, All, CompatibilityPHP71, Simple, Level 2 8 6 Major 59 %
Wrong Parameter Type Analyze, OneFile, All, Simple 56 25 Major 45 %
List Short Syntax Internal, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All, Appinfo 179 69 Major 10 %
List With Keys CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Appcontent, Appinfo, All 4 2 Major 32 %
Possible Missing Subpattern All, Analyze, Top10 14 6 Minor 40 %
No Reference For Ternary All, Analyze 1 1 Major 0 %
PHP 7.0 Scalar Typehints All, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 751 131 Critical 31 %
PHP Keywords As Names Analyze, All, Simple 562 88 Major 89 %
Scalar Are Not Arrays All, Analyze, CompatibilityPHP74 109 13 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3 3 3 Major 71 %
Strtr Arguments All, Analyze 3 3 Major 6 %
Too Many Native Calls All, Analyze 8 8 Minor 47 %
Use Nullable Type All, Appinfo, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 255 110 Major 21 %
Use PHP Object API Analyze, ClearPHP, All, Simple 2 2 Minor 23 %
Avoid Using stdClass All, Analyze, OneFile, Simple, Level 4 31 31 Minor 45 %
Usort Sorting In PHP 7.0 CompatibilityPHP70, All 20 9 Major 46 %
Wrong Type For Native PHP Function All, Analyze 2936 275 Minor 0 %
Always Anchor Regex All, Security 48 23 Major 65 %
Avoid Those Hash Functions Security, All 23 16 Major 60 %
Direct Injection Security, All 365 98 Major 41 %
Encoded Simple Letters All, Security 4 2 Minor 40 %
Indirect Injection Security, All 55 26 Critical 21 %
Integer Conversion All, Security 10 6 Major 0 %
No Net For Xml Load All, Security 6 5 Major 49 %
Avoid sleep()/usleep() Security, All 2 1 Minor 39 %
Should Use Prepared Statement Analyze, Security, All, Simple 16 10 Major 22 %
Sqlite3 Requires Single Quotes All, Security 5 4 Major 1 %
Unserialize Second Arg Security, All 1 1 Critical 49 %
Adding Zero ruleset_name 108 32 Minor 33 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1 19 15 Major 52 %
Constant Comparison All, Analyze 15 8 Minor 0 %
Array_merge Needs Array Of Arrays All, Analyze 36 21 Minor 0 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4 3 2 Minor 92 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2 243 86 Minor 76 %
Buried Assignation Analyze, All 32 22 Minor 82 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1 10 6 Minor 55 %
Casting Ternary All, Analyze, OneFile 1 1 Major 0 %
Check All Types All, Analyze 35 27 Major 68 %
Check JSON All, Analyze 75 41 Major 64 %
Common Alternatives Analyze, All, Simple 111 42 Major 61 %
Concat Empty String All, Analyze, OneFile 11 9 Minor 0 %
Could Be Else All, Analyze 4 4 Minor 48 %
Could Be Static Analyze, OneFile, All, ClassReview 82 36 Major 20 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple 22 9 Minor 60 %
Could Use str_repeat() All, Analyze, Level 1, Top10 3 2 Minor 12 %
Dangling Array References PHP recommendations, Analyze, ClearPHP, All, Simple, Level 1, Top10 9 8 Major 40 %
Dont Change The Blind Var All, Analyze 39 28 Minor 72 %
Dont Mix ++ All, Analyze 11 5 Minor 43 %
Double Assignation Analyze, All 23 20 Major 55 %
Double Instructions Analyze, All, Simple 14 8 Minor 57 %
Drop Else After Return All, Analyze, OneFile, Simple, Suggestions, Level 4 3 2 Minor 70 %
Echo With Concat Performances, Analyze, All, Simple, Suggestions 12 5 Minor 58 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector 46 31 Minor 65 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All 78 36 Major 60 %
Switch Fallthrough All, Inventory, Security, Stats 3 2 Minor 37 %
Foreach Reference Is Not Modified Analyze, All, Simple 2 2 Minor 24 %
Global Usage Analyze, Appinfo, ClearPHP, All 4581 255 Minor 52 %
Htmlentities Calls Analyze, All, Simple 440 96 Major 39 %
Identical Consecutive Expression All, Analyze 19 6 Minor 58 %
If With Same Conditions Analyze, All, Simple 8 7 Major 44 %
Implode() Arguments Order All, Analyze 5 4 Minor 0 %
Inconsistent Elseif All, Analyze 111 53 Major 73 %
Indices Are Int Or String Analyze, OneFile, All, Simple 1 1 Major 18 %
Infinite Recursion All, Analyze 2 2 Major 0 %
Invalid Regex All, Analyze 2 2 Major 18 %
list() May Omit Variables Analyze, All, Simple, Suggestions, Level 3 8 1 Minor 37 %
Logical Mistakes Analyze, All, Simple, Level 1 5 5 Critical 31 %
Long Arguments All, Analyze 3 3 Minor 67 %
Max Level Of Nesting All, Analyze 64 41 Minor 0 %
Mbstring Unknown Encoding All, Analyze 1 1 Minor 0 %
Merge If Then All, Analyze 142 70 Minor 0 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4 18 12 Major 62 %
Missing Cases In Switch All, Analyze 4 2 Minor 2 %
Missing New ? All, Analyze 40 39 Critical 5 %
Modernize Empty With Expression All, Analyze, OneFile, Simple 56 37 Minor 56 %
Multiples Identical Case Analyze, OneFile, ClearPHP, All, Simple, Level 1 5 3 Minor 10 %
Multiple Type Variable All, Analyze, Level 4 10 9 Minor 43 %
Multiply By One ruleset_name 12 8 Minor 17 %
Nested Ifthen Analyze, All, RadwellCodes 250 91 Major 87 %
Don't Change Incomings Analyze, All 134 45 Minor 44 %
No Choice Analyze, All, Simple, Level 2, Top10 8 7 Major 43 %
No Direct Usage Analyze, All, Simple 3 3 Major 36 %
No Empty Regex All, Analyze 1 1 Critical 1 %
No Hardcoded Path Analyze, ClearPHP, All, Simple 2 1 Major 33 %
No isset() With empty() All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4 29 16 Minor 28 %
No Need For Else All, Analyze 12 10 Minor 74 %
No Need For Triple Equal All, Analyze 5 4 Minor 0 %
Avoid Substr() One Analyze, Performances, All, CompatibilityPHP71, Simple, Level 2, Suggestions, Top10 10 7 Minor 57 %
Variable Is Not A Condition All, Analyze 850 159 Minor 57 %
@ Operator Appinfo, ClearPHP, All, Analyze, Performances 113 46 Minor 66 %
Objects Don't Need References Analyze, ClearPHP, OneFile, All, Simple, Level 2, Top10 5 3 Minor 31 %
include_once() Usage Analyze, Appinfo, All 7 6 Minor 73 %
Several Instructions On The Same Line Analyze, All 25 16 Major 57 %
Phpinfo OneFile, All, Simple, Security 1 1 Major 14 %
Print And Die Analyze, All, Simple 4 4 Minor 29 %
Printf Number Of Arguments All, Analyze 5 4 Minor 42 %
Random Without Try Security, All 2 1 Critical 21 %
Repeated print() Analyze, All, Simple, Suggestions, Level 3, Top10 13 8 Major 49 %
Repeated Regex All, Analyze, Level 1 5 3 Minor 47 %
Return True False Analyze, All, Simple, Level 1 11 10 Major 53 %
Same Conditions In Condition Analyze, All, Simple 5 5 Critical 49 %
Should Make Ternary All, Analyze, OneFile, Simple 348 122 Minor 85 %
Preprocessable Analyze, All, Rector 766 143 Minor 86 %
Static Loop Analyze, All, Simple, Level 4 14 10 Minor 65 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10 8 6 Major 54 %
Switch To Switch Analyze, All, RadwellCodes, Simple 25 20 Minor 79 %
Switch Without Default Analyze, ClearPHP, All, Simple 45 31 Major 68 %
Timestamp Difference Analyze, All, Simple, Level 3 7 7 Major 50 %
Unchecked Resources Analyze, ClearPHP, All, Simple, Level 2 1 1 Major 49 %
Unconditional Break In Loop All, Analyze, Level 3 7 7 Major 46 %
Unreachable Code Dead code, OneFile, ClearPHP, All, Simple, Suggestions, Level 3 12 7 Major 44 %
Unused Global Analyze, All, Simple 5 3 Minor 18 %
Use Positive Condition All, Analyze, OneFile, Simple 164 74 Minor 81 %
Useless Casting All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4 2 1 Minor 37 %
Useless Check All, Analyze, OneFile, Simple, Level 1 2 2 Minor 48 %
Useless Global Analyze, OneFile, All, Simple, Level 2 277 45 Minor 24 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1 14 11 None 58 %
Useless Parenthesis Analyze, All, Simple 68 34 Minor 81 %
Useless Switch Analyze, All, Simple 2 2 Major 30 %
Useless Unset Analyze, OneFile, ClearPHP, All, Simple, Level 2 24 13 Major 28 %
var_dump()... Usage Analyze, ClearPHP, Security, All 1 1 Critical 40 %
No Real Comparison Analyze, All, Simple, Level 2, Top10 4 1 Major 22 %
Should Typecast Analyze, OneFile, All, Simple 68 39 Minor 47 %
String May Hold A Variable Analyze, All, Simple 12 9 Minor 58 %
Assigned Twice All, Analyze 855 100 Minor 78 %
Overwritten Literals Analyze, All 872 100 Major 78 %
Strange Name For Variables All, Analyze 1 1 Minor 28 %
Undefined Constant Name All, Analyze 43 4 Minor 0 %
Undefined Variable All, Analyze 427 3 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 7 5 Minor 87 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4 312 89 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple 663 97 Minor 78 %