PHP Static analysis for fatfree

Label Recipes Issues Files Severity Frequence
Null Or Boolean Arrays All, Analyze 8 4 Minor 0 %
String Initialization All, CompatibilityPHP71 35 5 Minor 33 %
Too Many Array Dimensions All, Analyze 2 1 Minor 0 %
Ambiguous Visibilities All, Analyze 4 3 Minor 70 %
Avoid Optional Properties All, Analyze 32 13 Major 83 %
Child Class Removes Typehint All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Typechecks 4 1 Major 1 %
Clone With Non-Object All, Analyze, LintButWontExec 8 5 Minor 0 %
Could Be Abstract Class All, Analyze, ClassReview 8 6 Minor 65 %
Class Could Be Final All, Analyze, ClassReview 33 29 Minor 95 %
Method Could Be Static All, Analyze, ClassReview 104 25 Minor 95 %
Don't Send $this In Constructor All, Analyze 6 6 Minor 39 %
Don't Unset Properties All, Analyze, Top10, php-cs-fixable 5 5 Major 40 %
Hidden Nullable All, Analyze, ClassReview 29 11 Minor 0 %
Incompatible Signature Methods With Covariance All, Analyze 1 1 Critical 0 %
Locally Unused Property Dead code, All, Simple 2 1 Minor 76 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2 44 19 Minor 49 %
Make Global A Property Analyze, All, Simple 10 1 Minor 33 %
Method Signature Must Be Compatible All, Analyze, LintButWontExec 18 5 Critical 50 %
Mismatch Properties Typehints All, Analyze, LintButWontExec, ClassReview 4 2 Minor 0 %
Non Nullable Getters All, Analyze, ClassReview 54 17 Minor 0 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1 489 34 Minor 42 %
Non Static Methods Called In A Static Analyze, CompatibilityPHP56, All, Simple, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55 147 32 Minor 20 %
Parent First All, Analyze, Suggestions 2 2 Minor 55 %
Property Could Be Local All, Analyze, ClassReview 2 1 Minor 71 %
Never Used Properties Analyze, All, Simple 2 1 Minor 72 %
Property Used In One Method Only All, Analyze 4 3 Minor 84 %
Redefined Default Analyze, All, Simple 22 11 Major 26 %
Could Use self Analyze, All, Simple, Suggestions, Level 3, ClassReview 2 1 Minor 57 %
Should Use Local Class Analyze, ClearPHP, All, Simple 101 23 Minor 94 %
Wrong Access Style to Property All, Analyze, Level 2, ClassReview 8 2 Critical 3 %
Undefined Classes Analyze, All 1 1 Major 91 %
Unresolved Classes Analyze, All 1 1 Major 86 %
Unused Class Constant All, Analyze, ClassReview 386 3 Minor 0 %
Unused Methods Dead code, All, Simple 258 28 Minor 95 %
Unused Private Properties Dead code, OneFile, All, Simple 7 1 Minor 37 %
Unused Protected Methods Dead code, All 13 2 Major 72 %
Use Class Operator All, Analyze, Performances, Simple 38 5 Minor 74 %
Use Instanceof Analyze, All, Simple 6 4 Major 63 %
Useless Constructor Analyze, All, Simple, Level 3 1 1 Minor 38 %
Illegal Name For Method All, Analyze, OneFile, Simple 2 2 Major 19 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72 1 1 Minor 54 %
Missing Include All, Analyze 1 1 Critical 61 %
Aliases Usage Analyze, ClearPHP, OneFile, All, Simple, Level 1 50 14 Minor 42 %
Use Named Boolean In Argument Definition All, Analyze 41 15 Minor 84 %
Callback Needs Return All, Analyze 3 1 Major 51 %
Could Make A Function All, Analyze, Suggestions 109 16 Minor 75 %
Empty Function Analyze, All, Simple 20 6 Minor 71 %
Insufficient Typehint All, Analyze, Typechecks 1 1 Major 24 %
Mismatched Default Arguments All, Analyze, Typechecks 27 9 Minor 33 %
Mismatched Typehint All, Analyze, Typechecks 55 11 Major 5 %
Never Used Parameter All, Analyze, Suggestions 124 29 Minor 47 %
No Boolean As Default All, Analyze 41 15 Minor 84 %
No Return Used All, Analyze, Suggestions, Level 4 7 6 Minor 41 %
Only Variable For Reference All, Analyze, LintButWontExec 13 4 Critical 24 %
Only Variable Passed By Reference All, Analyze 18 6 Critical 40 %
Redeclared PHP Functions Analyze, Appinfo, All, Simple 1 1 Minor 28 %
Relay Function Analyze, All 16 4 Major 83 %
Should Use Constants Analyze, All, Simple 4 2 Minor 24 %
Too Many Local Variables All, Analyze 12 7 Minor 65 %
Undefined Functions Analyze, All 2 1 Major 71 %
Unused Arguments Analyze, All, Simple 324 33 Major 89 %
Use Constant As Arguments Analyze, All, Simple 4 2 Major 25 %
Useless Referenced Argument All, Analyze 9 9 Minor 57 %
Useless Return Analyze, OneFile, All, Simple, Level 4 3 3 Minor 29 %
Uses Default Values Analyze, All, Simple 712 33 Minor 97 %
Methods Without Return All, Analyze 75 21 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple 59 17 Major 38 %
Wrong Type With Call All, Analyze, Typechecks 6 2 Minor 0 %
Forgotten Interface All, Analyze 2 2 Minor 52 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10 3 2 Major 55 %
Pre-increment Analyze, Performances, All, Simple, Level 4 45 12 Minor 74 %
array_key_exists() Works On Arrays All, CompatibilityPHP74, Analyze 16 5 Minor 0 %
Use random_int() Analyze, Security, All, CompatibilityPHP71, Simple, Level 2 23 12 Major 59 %
Detect Current Class All, Suggestions, CompatibilityPHP74 2 2 None 47 %
Wrong Parameter Type Analyze, OneFile, All, Simple 71 15 Major 45 %
Is_A() With String All, Analyze, Simple, Rector 1 1 Minor 0 %
Use === null Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable 16 6 Minor 52 %
List With Keys CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Appcontent, Appinfo, All 5 4 Major 32 %
Possible Missing Subpattern All, Analyze, Top10 12 5 Minor 40 %
No Class In Global All, Analyze 24 17 Minor 78 %
PHP 7.4 Removed Functions All, CompatibilityPHP74 1 1 Critical 0 %
PHP 8.0 Removed Functions All, CompatibilityPHP80 1 1 Major 0 %
PHP Keywords As Names Analyze, All, Simple 169 14 Major 89 %
Scalar Are Not Arrays All, Analyze, CompatibilityPHP74 98 8 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3 30 8 Major 71 %
Too Many Native Calls All, Analyze 1 1 Minor 47 %
Use Nullable Type All, Appinfo, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 100 26 Major 21 %
Use PHP Object API Analyze, ClearPHP, All, Simple 2 1 Minor 23 %
Avoid Using stdClass All, Analyze, OneFile, Simple, Level 4 1 1 Minor 45 %
Usort Sorting In PHP 7.0 CompatibilityPHP70, All 2 2 Major 46 %
Always Anchor Regex All, Security 48 13 Major 65 %
Avoid Those Hash Functions Security, All 5 4 Major 60 %
Configure Extract All, Security 6 2 Minor 22 %
Direct Injection Security, All 12 5 Major 41 %
Don't Echo Error All, Analyze, Security, Simple, Level 1 1 1 Critical 32 %
Encoded Simple Letters All, Security 18 1 Minor 40 %
filter_input() As A Source All, Security 1 1 Minor 6 %
Indirect Injection Security, All 1 1 Critical 21 %
No Net For Xml Load All, Security 6 5 Major 49 %
Avoid sleep()/usleep() Security, All 5 3 Minor 39 %
No Weak SSL Crypto All, Security 4 3 Minor 0 %
Set Cookie Safe Arguments All, Security 3 1 Major 23 %
Should Use Prepared Statement Analyze, Security, All, Simple 1 1 Major 22 %
Should Use session_regenerateid() All, Security 1 1 Major 82 %
Unserialize Second Arg Security, All 1 1 Critical 49 %
Adding Zero Analyze, OneFile, ClearPHP, All, Simple, Level 1 48 11 Minor 33 %
Constant Comparison All, Analyze 2 2 Minor 0 %
Assign And Compare All, Analyze 1 1 Minor 17 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4 4 3 Minor 92 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2 13 6 Minor 76 %
Buried Assignation Analyze, All 167 29 Minor 82 %
Check All Types All, Analyze 10 6 Major 68 %
Check JSON All, Analyze 16 8 Major 64 %
Common Alternatives Analyze, All, Simple 11 5 Major 61 %
Concat Empty String All, Analyze, OneFile 1 1 Minor 0 %
Could Be Else All, Analyze 1 1 Minor 48 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple 2 2 Minor 60 %
Could Use str_repeat() All, Analyze, Level 1, Top10 8 5 Minor 12 %
Dont Change The Blind Var All, Analyze 23 9 Minor 72 %
Double Assignation Analyze, All 4 3 Major 55 %
Drop Else After Return All, Analyze, OneFile, Simple, Suggestions, Level 4 5 5 Minor 70 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector 3 1 Minor 65 %
Empty Blocks Analyze, All, Simple 1 1 Minor 57 %
Eval() Usage Analyze, Appinfo, Performances, OneFile, ClearPHP, All, Simple, Security 3 2 Major 37 %
eval() Without Try Analyze, All, Simple, Level 3, Security 3 2 Critical 34 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All 10 3 Major 60 %
Switch Fallthrough All, Inventory, Security, Stats 2 2 Minor 37 %
Global Usage Analyze, Appinfo, ClearPHP, All 12 1 Minor 52 %
If With Same Conditions Analyze, All, Simple 1 1 Major 44 %
Iffectations Analyze, All 60 16 Minor 80 %
Implode() Arguments Order All, Analyze 1 1 Minor 0 %
Inconsistent Elseif All, Analyze 12 5 Major 73 %
Infinite Recursion All, Analyze 3 3 Major 0 %
list() May Omit Variables Analyze, All, Simple, Suggestions, Level 3 1 1 Minor 37 %
Max Level Of Nesting All, Analyze 18 9 Minor 0 %
Merge If Then All, Analyze 14 6 Minor 0 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4 13 7 Major 62 %
Modernize Empty With Expression All, Analyze, OneFile, Simple 3 3 Minor 56 %
Multiple Type Variable All, Analyze, Level 4 3 2 Minor 43 %
Nested Ifthen Analyze, All, RadwellCodes 54 14 Major 87 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1 16 8 Major 20 %
No Direct Usage Analyze, All, Simple 1 1 Major 36 %
No Hardcoded Hash Analyze, Security, All, Simple 2 1 Critical 44 %
No Hardcoded Port Analyze, ClearPHP, Security, All, Simple 1 1 Minor 11 %
No isset() With empty() All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4 2 1 Minor 28 %
No Need For Else All, Analyze 18 8 Minor 74 %
No Parenthesis For Language Construct Analyze, ClearPHP, All, RadwellCodes, Simple, Suggestions, Level 2 5 3 Minor 61 %
Avoid Substr() One Analyze, Performances, All, CompatibilityPHP71, Simple, Level 2, Suggestions, Top10 4 3 Minor 57 %
Variable Is Not A Condition All, Analyze 254 28 Minor 57 %
@ Operator Appinfo, ClearPHP, All, Analyze, Performances 40 10 Minor 66 %
Several Instructions On The Same Line Analyze, All 12 5 Major 57 %
Random Without Try Security, All 6 6 Critical 21 %
Repeated Regex All, Analyze, Level 1 16 6 Minor 47 %
Should Make Ternary All, Analyze, OneFile, Simple 8 7 Minor 85 %
Preprocessable Analyze, All, Rector 572 30 Minor 86 %
Static Loop Analyze, All, Simple, Level 4 3 3 Minor 65 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10 9 3 Major 54 %
Switch Without Default Analyze, ClearPHP, All, Simple 13 5 Major 68 %
Ternary In Concat Analyze, All, Simple, Level 3 4 4 Critical 3 %
Timestamp Difference Analyze, All, Simple, Level 3 12 5 Major 50 %
Unconditional Break In Loop All, Analyze, Level 3 1 1 Major 46 %
Unpreprocessed Values Analyze, OneFile, ClearPHP, All, Simple 4 2 Minor 28 %
Unset In Foreach Dead code, Analyze, OneFile, All, Simple 20 5 Major 34 %
Use Positive Condition All, Analyze, OneFile, Simple 3 2 Minor 81 %
Useless Global Analyze, OneFile, All, Simple, Level 2 1 1 Minor 24 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1 13 8 None 58 %
Useless Parenthesis Analyze, All, Simple 35 11 Minor 81 %
Useless Unset Analyze, OneFile, ClearPHP, All, Simple, Level 2 23 5 Major 28 %
String May Hold A Variable Analyze, All, Simple 7 3 Minor 58 %
Assigned Twice All, Analyze 45 7 Minor 78 %
Overwritten Literals Analyze, All 49 7 Major 78 %
Strange Name For Variables All, Analyze 3 3 Minor 28 %
Undefined Constant Name All, Analyze 3 1 Minor 0 %
Undefined Variable All, Analyze 2379 32 Minor 77 %
Non Ascii Variables Analyze, All 1 1 Minor 64 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 5 2 Minor 87 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4 42 15 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple 354 24 Minor 78 %