PHP Static analysis for emoncms

Label Recipes Issues Files Severity Frequence
Null Or Boolean Arrays All, Analyze 10 4 Minor 0 %
String Initialization All, CompatibilityPHP71 27 6 Minor 33 %
Too Many Array Dimensions All, Analyze 8 6 Minor 0 %
Accessing Private Analyze, All, Simple 1 1 Major 13 %
Ambiguous Visibilities All, Analyze 58 21 Minor 70 %
Avoid option arrays in constructors All, Analyze, ClassReview 4 4 Minor 0 %
Avoid Optional Properties All, Analyze 43 7 Major 83 %
Constant Class Analyze, All, Simple 4 2 Minor 49 %
Class Could Be Final All, Analyze, ClassReview 32 28 Minor 95 %
Method Could Be Static All, Analyze, ClassReview 59 17 Minor 95 %
Empty Classes Analyze, All, Simple 4 2 Minor 58 %
Make Global A Property Analyze, All, Simple 40 17 Minor 33 %
Method Signature Must Be Compatible All, Analyze, LintButWontExec 10 9 Critical 50 %
No Public Access Analyze, All 3 3 Minor 60 %
Non Nullable Getters All, Analyze, ClassReview 3 2 Minor 0 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1 10 1 Minor 42 %
Non Static Methods Called In A Static Analyze, CompatibilityPHP56, All, Simple, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55 38 4 Minor 20 %
Property Could Be Local All, Analyze, ClassReview 22 12 Minor 71 %
Property Used In One Method Only All, Analyze 14 5 Minor 84 %
Redefined Default Analyze, All, Simple 15 6 Major 26 %
Could Use self Analyze, All, Simple, Suggestions, Level 3, ClassReview 35 2 Minor 57 %
Should Use Local Class Analyze, ClearPHP, All, Simple 47 17 Minor 94 %
Undefined Classes Analyze, All 18 11 Major 91 %
Undefined Properties Analyze, ClearPHP, All, Simple 64 1 Major 58 %
Unresolved Classes Analyze, All 12 9 Major 86 %
Unused Class Constant All, Analyze, ClassReview 1 1 Minor 0 %
Unused Methods Dead code, All, Simple 164 20 Minor 95 %
Unused Private Methods Dead code, OneFile, All, Simple 3 3 Minor 45 %
Unused Private Properties Dead code, OneFile, All, Simple 6 3 Minor 37 %
Use Class Operator All, Analyze, Performances, Simple 380 52 Minor 74 %
Use Instanceof Analyze, All, Simple 2 1 Major 63 %
Used Once Property All, Analyze 10 4 Minor 72 %
Weak Typing All, Analyze 3 3 Minor 41 %
Use const Analyze, Coding Conventions, All, Top10 11 10 Minor 57 %
Constants With Strange Names Analyze, All, Simple 10 9 Minor 1 %
Invalid Constant Name Analyze, All, Simple 10 9 Major 1 %
Multiple Constant Definition Analyze, All, Simple 9 9 Minor 32 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72 40 40 Minor 54 %
Uncaught Exceptions Analyze, All 5 5 Minor 81 %
Missing Include All, Analyze 108 35 Critical 61 %
Aliases Usage Analyze, ClearPHP, OneFile, All, Simple, Level 1 874 49 Minor 42 %
Use Named Boolean In Argument Definition All, Analyze 4 4 Minor 84 %
Callback Needs Return All, Analyze 1 1 Major 51 %
Could Make A Function All, Analyze, Suggestions 826 67 Minor 75 %
Deep Definitions Analyze, Appinfo, All, Simple 1 1 Major 12 %
Empty Function Analyze, All, Simple 19 5 Minor 71 %
Hardcoded Passwords Analyze, OneFile, Security, All, Simple, Level 3 10 5 Major 61 %
Mismatched Default Arguments All, Analyze, Typechecks 6 1 Minor 33 %
Mismatched Typehint All, Analyze, Typechecks 2 1 Major 5 %
Never Used Parameter All, Analyze, Suggestions 23 12 Minor 47 %
No Boolean As Default All, Analyze 4 4 Minor 84 %
Relay Function Analyze, All 10 4 Major 83 %
Too Many Local Variables All, Analyze 26 18 Minor 65 %
Unused Arguments Analyze, All, Simple 67 10 Major 89 %
Unused Functions Dead code, All, Simple 29 15 Minor 53 %
Unused Inherited Variable In Closure All, Analyze, Dead code 1 1 Major 22 %
Unused Returned Value All, Analyze, OneFile, Dead code, Simple 4 2 Minor 39 %
Use Constant As Arguments Analyze, All, Simple 4 3 Major 25 %
Uses Default Values Analyze, All, Simple 1002 66 Minor 97 %
Methods Without Return All, Analyze 106 26 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple 17 11 Major 38 %
Wrong Type With Call All, Analyze, Typechecks 1 1 Minor 0 %
Interfaces Is Not Implemented All, Analyze, ClassReview 10 10 Minor 0 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks 1 1 Minor 57 %
Hidden Use Expression Analyze, OneFile, All, Simple 2 1 Minor 24 %
Unused Use Dead code, ClearPHP, All, Simple 1 1 Major 54 %
Use With Fully Qualified Name Analyze, Coding Conventions, PHP recommendations, All, Simple 2 1 Minor 16 %
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 19 8 Minor 66 %
Pre-increment Analyze, Performances, All, Simple, Level 4 108 25 Minor 74 %
strpos() Too Much All, Analyze 3 2 Minor 46 %
Use random_int() Analyze, Security, All, CompatibilityPHP71, Simple, Level 2 21 3 Major 59 %
Filter To add_slashes() All, CompatibilityPHP74 1 1 Minor 0 %
Wrong Parameter Type Analyze, OneFile, All, Simple 9 2 Major 45 %
Use === null Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable 3 2 Minor 52 %
Logical Should Use Symbolic Operators Analyze, OneFile, ClearPHP, All, Simple, Suggestions, Level 2, Top10, php-cs-fixable 39 39 Minor 42 %
Possible Missing Subpattern All, Analyze, Top10 1 1 Minor 40 %
No Class In Global All, Analyze 146 51 Minor 78 %
PHP Keywords As Names Analyze, All, Simple 89 14 Major 89 %
Scalar Are Not Arrays All, Analyze, CompatibilityPHP74 13 2 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3 80 5 Major 71 %
Too Many Native Calls All, Analyze 6 4 Minor 47 %
Use Nullable Type All, Appinfo, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 19 14 Major 21 %
Avoid Using stdClass All, Analyze, OneFile, Simple, Level 4 18 10 Minor 45 %
Usort Sorting In PHP 7.0 CompatibilityPHP70, All 1 1 Major 46 %
Always Anchor Regex All, Security 3 3 Major 65 %
Avoid Those Hash Functions Security, All 16 3 Major 60 %
Compare Hash Security, ClearPHP, All 1 1 Major 14 %
Configure Extract All, Security 1 1 Minor 22 %
Direct Injection Security, All 15 6 Major 41 %
Don't Echo Error All, Analyze, Security, Simple, Level 1 1 1 Critical 32 %
filter_input() As A Source All, Security 3 3 Minor 6 %
Indirect Injection Security, All 20 19 Critical 21 %
Integer Conversion All, Security 2 1 Major 0 %
Avoid sleep()/usleep() Security, All 7 6 Minor 39 %
Safe HTTP Headers All, Security 2 2 Major 5 %
Should Use Prepared Statement Analyze, Security, All, Simple 91 15 Major 22 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1 1 1 Major 52 %
Alternative Syntax Consistence All, Analyze 5 1 Major 20 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4 29 12 Minor 92 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2 33 19 Minor 76 %
Buried Assignation Analyze, All 48 12 Minor 82 %
Check All Types All, Analyze 16 8 Major 68 %
Check JSON All, Analyze 50 27 Major 64 %
Common Alternatives Analyze, All, Simple 34 14 Major 61 %
Concat Empty String All, Analyze, OneFile 12 5 Minor 0 %
Could Be Else All, Analyze 3 3 Minor 48 %
Could Be Static Analyze, OneFile, All, ClassReview 3 2 Major 20 %
Could Use __DIR__ Analyze, All, Simple, Suggestions, Level 3, php-cs-fixable 22 19 Major 56 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple 18 9 Minor 60 %
Could Use str_repeat() All, Analyze, Level 1, Top10 1 1 Minor 12 %
Dont Change The Blind Var All, Analyze 27 16 Minor 72 %
Dont Mix ++ All, Analyze 5 4 Minor 43 %
Double Assignation Analyze, All 11 9 Major 55 %
Double Instructions Analyze, All, Simple 5 3 Minor 57 %
Drop Else After Return All, Analyze, OneFile, Simple, Suggestions, Level 4 42 12 Minor 70 %
Echo With Concat Performances, Analyze, All, Simple, Suggestions 53 23 Minor 58 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector 128 24 Minor 65 %
Empty Blocks Analyze, All, Simple 9 7 Minor 57 %
Empty Instructions Dead code, Analyze, All, Simple 1462 49 Minor 43 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All 106 52 Major 60 %
Global Usage Analyze, Appinfo, ClearPHP, All 284 77 Minor 52 %
Htmlentities Calls Analyze, All, Simple 3 2 Major 39 %
Identical Consecutive Expression All, Analyze 3 3 Minor 58 %
If With Same Conditions Analyze, All, Simple 7 2 Major 44 %
Iffectations Analyze, All 64 16 Minor 80 %
Implied If Analyze, ClearPHP, All, Simple 39 39 Major 29 %
Implode() Arguments Order All, Analyze 2 1 Minor 0 %
Inconsistent Elseif All, Analyze 8 7 Major 73 %
Indices Are Int Or String Analyze, OneFile, All, Simple 1 1 Major 18 %
Infinite Recursion All, Analyze 6 6 Major 0 %
Invalid Pack Format All, Analyze 8 1 Major 0 %
list() May Omit Variables Analyze, All, Simple, Suggestions, Level 3 1 1 Minor 37 %
Long Arguments All, Analyze 116 29 Minor 67 %
Max Level Of Nesting All, Analyze 29 21 Minor 0 %
Merge If Then All, Analyze 54 26 Minor 0 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4 1 1 Major 62 %
Missing New ? All, Analyze 33 16 Critical 5 %
Mixed Concat And Interpolation All, Coding Conventions, Analyze 19 7 Minor 43 %
Modernize Empty With Expression All, Analyze, OneFile, Simple 10 6 Minor 56 %
Multiple Type Variable All, Analyze, Level 4 3 2 Minor 43 %
Multiply By One Analyze, OneFile, ClearPHP, All, Simple, Level 1 24 6 Minor 17 %
Nested Ifthen Analyze, All, RadwellCodes 226 34 Major 87 %
Don't Change Incomings Analyze, All 1 1 Minor 44 %
No Direct Usage Analyze, All, Simple 1 1 Major 36 %
No Hardcoded Path Analyze, ClearPHP, All, Simple 9 8 Major 33 %
No isset() With empty() All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4 1 1 Minor 28 %
No Need For Else All, Analyze 92 17 Minor 74 %
No Parenthesis For Language Construct Analyze, ClearPHP, All, RadwellCodes, Simple, Suggestions, Level 2 29 16 Minor 61 %
Avoid Substr() One Analyze, Performances, All, CompatibilityPHP71, Simple, Level 2, Suggestions, Top10 1 1 Minor 57 %
Variable Is Not A Condition All, Analyze 207 54 Minor 57 %
@ Operator Appinfo, ClearPHP, All, Analyze, Performances 51 11 Minor 66 %
include_once() Usage Analyze, Appinfo, All 64 28 Minor 73 %
Several Instructions On The Same Line Analyze, All 236 44 Major 57 %
PHP7 Dirname CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All, Suggestions, php-cs-fixable 2 1 Minor 42 %
Phpinfo OneFile, All, Simple, Security 1 1 Major 14 %
Print And Die Analyze, All, Simple 17 7 Minor 29 %
Printf Number Of Arguments All, Analyze 1 1 Minor 42 %
Repeated print() Analyze, All, Simple, Suggestions, Level 3, Top10 7 5 Major 49 %
Return True False Analyze, All, Simple, Level 1 13 8 Major 53 %
Same Conditions In Condition Analyze, All, Simple 1 1 Critical 49 %
Should Make Ternary All, Analyze, OneFile, Simple 99 28 Minor 85 %
Preprocessable Analyze, All, Rector 867 66 Minor 86 %
Static Loop Analyze, All, Simple, Level 4 17 12 Minor 65 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10 2 2 Major 54 %
Switch To Switch Analyze, All, RadwellCodes, Simple 36 7 Minor 79 %
Switch Without Default Analyze, ClearPHP, All, Simple 2 2 Major 68 %
Test Then Cast All, Analyze 18 5 Major 32 %
Timestamp Difference Analyze, All, Simple, Level 3 20 8 Major 50 %
Unchecked Resources Analyze, ClearPHP, All, Simple, Level 2 23 10 Major 49 %
Unconditional Break In Loop All, Analyze, Level 3 1 1 Major 46 %
Unpreprocessed Values Analyze, OneFile, ClearPHP, All, Simple 3 1 Minor 28 %
Unreachable Code Dead code, OneFile, ClearPHP, All, Simple, Suggestions, Level 3 12 5 Major 44 %
Unused Global Analyze, All, Simple 25 14 Minor 18 %
Use Constant PHP recommendations, All, Analyze, php-cs-fixable 22 19 Minor 0 %
Use Positive Condition All, Analyze, OneFile, Simple 63 25 Minor 81 %
Useless Casting All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4 3 3 Minor 37 %
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 13 6 None 58 %
Useless Parenthesis Analyze, All, Simple 68 20 Minor 81 %
var_dump()... Usage Analyze, ClearPHP, Security, All 2 1 Critical 40 %
No Real Comparison Analyze, All, Simple, Level 2, Top10 1 1 Major 22 %
One Variable String Analyze, All, RadwellCodes, Simple 4 2 Minor 29 %
Should Typecast Analyze, OneFile, All, Simple 107 23 Minor 47 %
String May Hold A Variable Analyze, All, Simple 1 1 Minor 58 %
Strings With Strange Space All, Analyze 1 1 Minor 15 %
Assigned Twice All, Analyze 226 22 Minor 78 %
Overwritten Literals Analyze, All 315 22 Major 78 %
Undefined Constant Name All, Analyze 1 1 Minor 0 %
Undefined Variable All, Analyze 698 62 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 34 20 Minor 87 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4 482 76 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple 48 20 Minor 78 %