PHP Static analysis for public

Label Recipes Issues Files Severity Frequence
Null Or Boolean Arrays All, Analyze, ChangedBehavior 12 1 Minor 0 %
Too Many Array Dimensions All, Analyze 9 2 Minor 0 %
Ambiguous Visibilities All, Analyze 23 10 Minor 70 %
Avoid Optional Properties All, Analyze 16 5 Major 84 %
Could Be Abstract Class All, Analyze, ClassReview 1 1 Minor 65 %
Class Could Be Final All, Analyze, ClassReview 18 18 Minor 96 %
Method Could Be Static All, Analyze, ClassReview 39 8 Minor 92 %
Could Inject Param All, Analyze, ClassReview 14 5 Minor 0 %
Empty Classes Analyze, All, Simple 7 7 Minor 60 %
Hidden Nullable Typehint All, Analyze, ClassReview 5 4 Minor 0 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2 1 1 Minor 71 %
Make Global A Property Analyze, All, Simple 1 1 Minor 37 %
Method Signature Must Be Compatible All, Analyze, LintButWontExec 26 5 Critical 53 %
No Public Access Analyze, All 25 3 Minor 61 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 43 6 Minor 42 %
Parent First All, Analyze, Suggestions 1 1 Minor 56 %
Property Could Be Local All, Analyze, ClassReview 7 4 Minor 76 %
Same Name For Property And Method All, Analyze, ClassReview, Semantics 30 2 Minor 0 %
Never Used Properties Analyze, All, Simple, Unused 2 1 Minor 71 %
Property Used In One Method Only All, Analyze 28 5 Minor 84 %
Parent, Static Or Self Outside Class Analyze, All, Simple, ChangedBehavior 22 14 Major 2 %
Should Use Local Class Analyze, ClearPHP, All, Simple 40 7 Minor 95 %
Too Many Dereferencing All, Analyze 1 1 Minor 0 %
Undefined Classes Analyze, All, Stubs, Undefined, IsPHP, IsStub, IsExt 166 53 Major 91 %
Undefined Class Constants Analyze, All, CI-checks, Stubs, LintButWontExec, Undefined, IsPHP, IsStub, IsExt, CE 2 1 Major 62 %
Undefined Properties Analyze, ClearPHP, All, Simple, CI-checks, Undefined, ChangedBehavior, CE 240 13 Major 61 %
Unfinished Object All, Analyze, ClassReview 45 9 Major 0 %
Unreachable Method All, Analyze, Dead code, ClassReview, Unused 13 1 Minor 0 %
Unresolved Classes Analyze, All, Stubs 35 17 Major 76 %
Unresolved Instanceof Analyze, Dead code, ClearPHP, All, Simple, Top10 1 1 Major 48 %
Unused Class Constant All, Analyze, ClassReview, Unused 1 1 Minor 0 %
Unused Public Method All, Analyze 27 6 Minor 0 %
Use ::Class Operator All, Analyze, Performances, Simple, CI-checks, CE 241 59 Minor 71 %
Use Instanceof Analyze, All, Simple, CI-checks, CE 1 1 Major 63 %
Used Once Property All, Analyze 13 5 Minor 74 %
Weak Typing All, Analyze 6 2 Minor 47 %
Use const Analyze, Coding Conventions, All, Top10, CI-checks, CE 1 1 Minor 54 %
Invalid Constant Name Analyze, All, Simple 1 1 Major 51 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72, CI-checks, Stubs, Undefined, IsPHP, IsStub, IsExt, CE 158 59 Minor 71 %
Catch Undefined Variable All, Analyze, Undefined 1 1 Minor 0 %
Throw Raw Exceptions All, Analyze, Suggestions 3 2 Minor 0 %
Uncaught Exceptions Analyze, All 3 2 Minor 84 %
Missing Include All, Analyze 88 11 Critical 65 %
Native Alias Functions Usage Analyze, ClearPHP, OneFile, All, Simple, Level 1, CI-checks, CE 25 5 Minor 42 %
Use Named Boolean In Argument Definition All, Analyze 17 12 Minor 84 %
Cancelled Parameter All, Analyze 1 1 Minor 0 %
Could Make A Function All, Analyze, Suggestions 828 91 Minor 66 %
Dont Collect Void All, Analyze, IsPHP, IsStub, IsExt 17 13 Minor 0 %
Hardcoded Passwords Analyze, OneFile, Security, All, Simple, Level 3 37 5 Major 70 %
Mismatched Default Arguments All, Analyze, Typechecks 14 10 Minor 80 %
Mismatched Typehint All, Analyze, Typechecks 29 10 Major 66 %
Must Return Methods Analyze, All, Simple, Level 2, LintButWontExec, CI-checks, CE 1 1 Major 34 %
Never Called Parameter All, Analyze, Suggestions, Rector, Unused 12 10 Minor 92 %
No Boolean As Default All, Analyze 18 12 Minor 84 %
No Default For Referenced Parameter All, Analyze 2 1 Minor 0 %
No Return Used All, Analyze, Suggestions, Level 4 6 4 Minor 69 %
Redeclared PHP Functions Analyze, Appinfo, All, Simple, CI-checks, CE 299 71 Minor 26 %
Relay Function Analyze, All 63 26 Major 84 %
Retyped Reference All, Analyze, Typehints 2 2 Major 0 %
Too Many Local Variables All, Analyze 23 17 Minor 64 %
Typehinted References All, Analyze, CI-checks, CE 2 1 Minor 37 %
Undefined Functions Analyze, All, CI-checks, Stubs, Undefined, IsPHP, IsStub, IsExt, CE 2558 118 Major 68 %
Unused Parameter Analyze, All, Simple, Unused 25 13 Major 90 %
Unused Inherited Variable In Closure All, Analyze, Dead code, CI-checks, Unused, CE 1 1 Major 23 %
Unused Returned Value All, Analyze, OneFile, Dead code, Simple, Unused 83 25 Minor 41 %
Use Constant As Arguments Analyze, All, Simple, CI-checks, CE 88 51 Major 30 %
Useless Referenced Argument All, Analyze 3 3 Minor 58 %
Uses Default Values Analyze, All, Simple, CI-checks, IsPHP, IsStub, IsExt, CE 415 70 Minor 98 %
Wrong Argument Type All, Analyze, Typechecks 9 3 Minor 0 %
Wrong Optional Parameter Analyze, All, Simple, Level 1, CI-checks, CompatibilityPHP80, ChangedBehavior, CE 3 2 Minor 32 %
Wrong Type Returned All, Analyze, ClassReview, CI-checks, LintButWontExec, CE 75 13 Minor 0 %
Wrong Type With Call All, Analyze, Typechecks, CI-checks, CE 8 3 Minor 0 %
Interfaces Is Not Implemented All, Analyze, ClassReview, LintButWontExec, CI-checks, IsPHP, IsStub, IsExt, CE 2 2 Minor 0 %
Undefined Interfaces Analyze, All, CI-checks, LintButWontExec, Undefined, IsPHP, IsStub, IsExt, CE 1 1 Major 72 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks 1 1 Minor 59 %
Hidden Use Expression Analyze, OneFile, All, Simple, CI-checks, CE 4 2 Minor 23 %
Unresolved Use Analyze, ClearPHP, All, Simple, IsPHP, IsStub, IsExt 4 2 Major 69 %
Use With Fully Qualified Name Analyze, Coding Conventions, PHP recommendations, All, Simple 4 2 Minor 18 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE 1 1 Major 57 %
Logical To in_array All, Analyze, Level 2 16 4 Minor 67 %
Pre-increment Analyze, Performances, All, Simple, Level 4, CI-checks, CE 79 30 Minor 74 %
array_key_exists() Works On Arrays All, CompatibilityPHP74, Analyze, CE 4 1 Minor 0 %
Assumptions All, Analyze 15 3 Minor 0 %
Use random_int() Analyze, Security, All, CompatibilityPHP71, Simple, Level 2, CI-checks, CE 10 2 Major 59 %
Deprecated PHP Functions Analyze, All, CI-checks, CE 1 1 Major 23 %
Don't Pollute Global Space All, Analyze 330 96 Minor 0 %
Incompilable Files Analyze, Appinfo, ClearPHP, All, Simple, CE 1 1 Critical 24 %
Logical Should Use Symbolic Operators Analyze, OneFile, ClearPHP, All, Simple, Suggestions, Level 2, Top10, php-cs-fixable, CI-checks, CE 46 4 Minor 43 %
Possible Missing Subpattern All, Analyze, Top10, CI-checks, CE 3 1 Minor 45 %
No Class In Global All, Analyze, CI-checks, CE 324 96 Minor 77 %
Scalar Are Not Arrays All, Analyze, CompatibilityPHP74, CI-checks, CE 18 3 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3, CI-checks, CE 7 3 Major 71 %
Wrong Type For Native PHP Function All, Analyze, CI-checks, CE 44 12 Minor 0 %
Don't Echo Error All, Analyze, Security, Simple, Level 1, CI-checks, CE 43 42 Critical 35 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 3 2 Major 56 %
Alternative Syntax Consistence All, Analyze 15 1 Major 21 %
Comparison Is Always True All, Analyze 13 6 Minor 0 %
Array_Map() Passes By Value All, Analyze, CompatibilityPHP80, IsPHP, IsStub, IsExt, CE 10 4 Major 0 %
Array_merge Needs Array Of Arrays All, Analyze 2 2 Minor 0 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4 122 45 Minor 64 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2, CI-checks, CE 30 15 Minor 77 %
Buried Assignation Analyze, All 26 12 Minor 84 %
Check All Types All, Analyze 4 4 Major 69 %
Check Division By Zero All, Analyze 12 9 Minor 0 %
Check JSON All, Analyze, CI-checks, CE 28 8 Major 65 %
Common Alternatives Analyze, All, Simple 60 31 Major 80 %
Could Be Static Analyze, OneFile, All, ClassReview 4 2 Major 23 %
Could Use __DIR__ Analyze, All, Simple, Suggestions, Level 3, php-cs-fixable, CI-checks, CE 10 6 Major 56 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple, CI-checks, Rector, CE 6 4 Minor 63 %
Dont Change The Blind Var All, Analyze 20 13 Minor 73 %
Dont Mix ++ All, Analyze 7 7 Minor 56 %
Double Assignation Analyze, All 11 9 Major 59 %
Double Instructions Analyze, All, Simple 7 3 Minor 57 %
Drop Else After Return All, Analyze, OneFile, Simple, Suggestions, Level 4, CI-checks, CE 25 17 Minor 70 %
Echo With Concat Performances, Analyze, All, Simple, Suggestions 239 33 Minor 60 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector, CI-checks, CE 62 16 Minor 66 %
Empty Blocks Analyze, All, Simple, CI-checks, CE 10 7 Minor 51 %
Empty Instructions Dead code, Analyze, All, Simple 60 24 Minor 57 %
Eval() Usage Analyze, Appinfo, Performances, OneFile, ClearPHP, All, Simple, Security, CE 1 1 Major 39 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All, CI-checks, CE 62 32 Major 61 %
Forgotten Whitespace Analyze, All, CI-checks, CE 2 2 Minor 16 %
Global Usage Analyze, Appinfo, ClearPHP, All, CE 73 8 Minor 52 %
Htmlentities Calls Analyze, All, Simple, CI-checks, CE 5 4 Major 40 %
Htmlentities Using Default Flag All, Analyze, Simple, CI-checks, ChangedBehavior 1 1 Minor 0 %
Identical Conditions Analyze, All, Simple, CI-checks, CE 2 2 Critical 28 %
Identical Consecutive Expression All, Analyze 2 2 Minor 59 %
If With Same Conditions Analyze, All, Simple, CI-checks, CE 1 1 Major 47 %
Iffectations Analyze, All 6 2 Minor 80 %
Implied If Analyze, ClearPHP, All, Simple, CI-checks, Rector, CE 1 1 Major 33 %
Inconsistent Elseif All, Analyze 8 4 Major 73 %
Indices Are Int Or String Analyze, OneFile, All, Simple, CI-checks, CE 17 6 Major 20 %
list() May Omit Variables Analyze, All, Simple, Suggestions, Level 3, CI-checks, CE 2 1 Minor 37 %
Long Arguments All, Analyze 10 4 Minor 68 %
Max Level Of Nesting All, Analyze 27 18 Minor 0 %
Merge If Then All, Analyze, CI-checks, CE 49 25 Minor 0 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4 8 1 Major 64 %
Mixed Concat And Interpolation All, Coding Conventions, Analyze 6 3 Minor 45 %
Modernize Empty With Expression All, Analyze, OneFile, Simple 56 14 Minor 63 %
Multiple Type Variable All, Analyze, Level 4 4 4 Minor 58 %
Nested Ifthen Analyze, All, RadwellCodes 128 40 Major 84 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 2 1 Major 50 %
Don't Change Incomings Analyze, All 1 1 Minor 44 %
No Choice Analyze, All, Simple, Level 2, Top10, CI-checks, Rector, CE 1 1 Major 42 %
No Hardcoded Path Analyze, ClearPHP, All, Simple 12 6 Major 35 %
No isset() With empty() All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4, CI-checks, CE 2 2 Minor 30 %
No Need For Else All, Analyze 33 20 Minor 74 %
No Parenthesis For Language Construct Analyze, ClearPHP, All, RadwellCodes, Simple, Suggestions, Level 2, CI-checks, CE 62 17 Minor 62 %
Avoid Substr() One Analyze, Performances, All, CompatibilityPHP71, Simple, Level 2, Suggestions, Top10, CI-checks, CE 7 3 Minor 58 %
Variable Is Not A Condition All, Analyze 148 40 Minor 93 %
@ Operator Appinfo, ClearPHP, All, Analyze, Performances, CI-checks, CE 3 3 Minor 65 %
Not Equal Is Not !== All, Analyze, CI-checks, CE 2 1 Minor 0 %
Not Not Analyze, OneFile, All, Simple, CI-checks, CE 3 2 Minor 14 %
include_once() Usage Analyze, Appinfo, All, CE 107 19 Minor 73 %
Several Instructions On The Same Line Analyze, All 76 13 Major 56 %
Overwritten Foreach Var All, Analyze, OneFile 2 2 Major 0 %
Print And Die Analyze, All, Simple, CI-checks, CE 2 2 Minor 32 %
Printf Number Of Arguments All, Analyze, CI-checks, CE 10 4 Minor 41 %
Repeated print() Analyze, All, Simple, Suggestions, Level 3, Top10, CI-checks, CE 48 18 Major 50 %
Repeated Regex All, Analyze, Level 1, CI-checks, CE 37 8 Minor 47 %
Results May Be Missing Analyze, All, Simple, CI-checks, CE 1 1 Major 24 %
Return True False Analyze, All, Simple, Level 1, CI-checks, CE 6 4 Major 46 %
Same Conditions In Condition Analyze, All, Simple, CI-checks, CE 16 12 Critical 55 %
Should Use Ternary Operator All, Analyze, OneFile, Simple, CI-checks, CE 111 42 Minor 86 %
Preprocessable Analyze, All, Rector 125 35 Minor 85 %
Static Loop Analyze, All, Simple, Level 4 3 1 Minor 67 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE 22 7 Major 54 %
Switch To Switch Analyze, All, RadwellCodes, Simple 6 6 Minor 58 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks, CE 1 1 Major 69 %
Timestamp Difference Analyze, All, Simple, Level 3, CI-checks, CE 4 4 Major 49 %
Unchecked Resources Analyze, ClearPHP, All, Simple, Level 2, CI-checks, CE 1 1 Major 50 %
Unconditional Break In Loop All, Analyze, Level 3, CI-checks, CE 2 2 Major 48 %
Unsupported Types With Operators All, Analyze, CompatibilityPHP80, CE 77 11 Minor 0 %
Unused Global Analyze, All, Simple, Unused 13 1 Minor 22 %
Use Constant Instead Of Function PHP recommendations, All, Analyze, php-cs-fixable, CI-checks, CE 11 7 Minor 61 %
Use Positive Condition All, Analyze, OneFile, Simple 65 32 Minor 82 %
Use Same Types For Comparisons All, Analyze 31 14 Minor 0 %
Useless Global Analyze, OneFile, All, Simple, Level 2 4 2 Minor 27 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE 13 9 Minor 63 %
Useless Parenthesis Analyze, All, Simple, CI-checks, CE 44 19 Minor 81 %
var_dump()... Usage Analyze, ClearPHP, Security, All, CI-checks, CE 1 1 Critical 42 %
One Variable String Analyze, All, RadwellCodes, Simple, CI-checks, CE 7 7 Minor 33 %
String May Hold A Variable Analyze, All, Simple 3 2 Minor 59 %
Missing Some Returntype All, Typehints, Analyze, CI-checks, CE 5 2 Minor 0 %
Assigned Twice All, Analyze 138 26 Minor 79 %
Overwritten Literals Analyze, All 185 26 Major 79 %
Recycled Variables All, Analyze 2 1 Minor 0 %
Undefined Variable All, Analyze, CI-checks, Undefined, CE 748 58 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 26 11 Minor 74 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4, CE 136 51 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple, Unused 98 30 Minor 87 %