PHP Static analysis for public

Label Recipes Issues Files Severity Frequence
Ambiguous Array Index Analyze, All, Simple, Level 2, Semantics, ChangedBehavior 2 2 Minor 10 %
Append And Assign Arrays All, Internal, Analyze, ChangedBehavior 3 1 Minor 0 %
Null Or Boolean Arrays All, Analyze 12 5 Minor 0 %
Weak Type With Array All, Analyze, ChangedBehavior 271 16 Minor 0 %
Ambiguous Static All, Analyze, Semantics 6 3 Minor 66 %
Ambiguous Visibilities All, Analyze, Semantics, ChangedBehavior 12 9 Minor 70 %
Avoid Optional Properties All, Analyze 7 4 Major 84 %
Could Be Abstract Class All, Analyze, ClassReview 1 1 Minor 65 %
Class Could Be Final All, Analyze, ClassReview 31 31 Minor 96 %
Method Could Be Static All, Analyze, ClassReview 27 6 Minor 92 %
Could Inject Parameter All, Analyze, ClassReview, ChangedBehavior 13 7 Minor 0 %
Empty Classes Analyze, All, Simple 6 6 Minor 60 %
Hidden Nullable Typehint All, Analyze, ClassReview 79 8 Minor 0 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2 1 1 Minor 71 %
Mismatch Properties Typehints All, Analyze, LintButWontExec, ClassReview 1 1 Minor 0 %
New Object Then Immediate Call All, Analyze, ClassReview 6 2 Minor 0 %
No Public Access Analyze, All 21 6 Minor 61 %
Parent First All, Analyze, Suggestions 1 1 Minor 56 %
Property Could Be Local All, Analyze, ClassReview 14 9 Minor 76 %
Same Name For Property And Method All, Analyze, ClassReview, Semantics 18 6 Minor 0 %
Never Used Properties Analyze, All, Simple, Unused 1 1 Minor 71 %
Property Used In One Method Only All, Analyze 22 12 Minor 84 %
Scalar Or Object Property All, Analyze 2 2 Minor 32 %
Should Use Local Class Analyze, ClearPHP, All, Simple 121 11 Minor 95 %
Static Methods Called From Object Analyze, All, Simple, CI-checks, IsPHP, IsStub, IsExt, CE 4 3 Minor 50 %
Too Many Dereferencing All, Analyze, ChangedBehavior 1 1 Minor 0 %
Undefined Classes Analyze, All, Stubs, Undefined 108 11 Major 91 %
Undefined Class Constants Analyze, All, CI-checks, Stubs, LintButWontExec, Undefined, ChangedBehavior, CE 16 1 Major 62 %
Undefined Properties Analyze, ClearPHP, All, Simple, CI-checks, CompatibilityPHP82, Undefined, ChangedBehavior, CE 14 3 Major 61 %
Unfinished Object All, Analyze, ClassReview 10 9 Major 0 %
Unresolved Classes Analyze, All, Stubs, ChangedBehavior 18 6 Major 76 %
Unused Classes Dead code, All, Simple, Analyze, Unused, ChangedBehavior 3 3 Major 67 %
Unused Class Constant All, Analyze, ClassReview, Unused, ChangedBehavior 66 3 Minor 0 %
Unused Public Methods All, Analyze, ChangedBehavior 145 17 Minor 0 %
Use Instanceof Analyze, All, Simple, CI-checks, ChangedBehavior, CE 1 1 Major 63 %
Useless Constructor Analyze, All, Simple, Level 3, ChangedBehavior 2 2 Minor 41 %
Weak Typing All, Analyze, ChangedBehavior 3 1 Minor 47 %
Wrong Typed Property Default All, Analyze, LintButWontExec, ClassReview, CI-checks, CE 7 5 Minor 0 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72, CI-checks, Stubs, Undefined, ChangedBehavior, CE 1 1 Minor 71 %
Converted Exceptions All, Analyze 104 12 Minor 0 %
Throw Raw Exceptions All, Analyze, Suggestions 53 14 Minor 0 %
Uncaught Exceptions Analyze, All, ChangedBehavior 162 18 Minor 84 %
Useless Catch All, Analyze, CI-checks, ChangedBehavior, CE 6 1 Minor 44 %
Useless Try All, Analyze, ChangedBehavior 13 3 Minor 0 %
Use Named Boolean In Argument Definition All, Analyze, ChangedBehavior 107 9 Minor 84 %
Could Make A Function All, Analyze, Suggestions, ChangedBehavior 129 4 Minor 66 %
Empty Function Analyze, All, Simple 3 3 Minor 74 %
Hardcoded Passwords Analyze, OneFile, Security, All, Simple, Level 3 2 2 Major 70 %
Method Is Not An If All, Analyze 5 5 Minor 0 %
Mismatched Default Arguments All, Analyze, Typechecks 122 4 Minor 80 %
Mismatched Typehint All, Analyze, Typechecks 24 2 Major 66 %
Modified Typed Parameter All, Analyze, ClassReview 1 1 Minor 0 %
Never Called Parameter All, Analyze, Suggestions, Rector, Unused 43 8 Minor 92 %
No Boolean As Default All, Analyze 106 9 Minor 84 %
No Default For Referenced Parameter All, Analyze 3 2 Minor 0 %
No Return Used All, Analyze, Suggestions, Level 4 2 2 Minor 69 %
Relay Function Analyze, All 29 8 Major 84 %
Too Many Local Variables All, Analyze 1 1 Minor 64 %
Class-typed References All, Analyze, CI-checks, CE 2 2 Minor 37 %
Unused Parameter Analyze, All, Simple, Unused 15 5 Major 90 %
Unused Returned Value All, Analyze, OneFile, Dead code, Simple, Unused 47 10 Minor 41 %
Useless Argument All, Analyze 38 6 Minor 0 %
Uses Default Values Analyze, All, Simple, CI-checks, IsPHP, IsStub, IsExt, CE 1112 23 Minor 98 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple, CI-checks, Stubs, IsPHP, IsStub, IsExt, CE 17 4 Major 81 %
Wrong Type Returned All, Analyze, ClassReview, CI-checks, LintButWontExec, CE 101 10 Minor 0 %
Wrong Type With Call All, Analyze, Typechecks, CI-checks, CE 141 14 Minor 0 %
Forgotten Interface All, Analyze, ChangedBehavior 2 2 Minor 48 %
Undefined Interfaces Analyze, All, CI-checks, LintButWontExec, Undefined, ChangedBehavior, CE 12 6 Major 72 %
Should Make Alias Analyze, OneFile, All, Simple, CI-checks, ChangedBehavior, CE 2 1 Minor 46 %
Unresolved Use Analyze, ClearPHP, All, Simple, ChangedBehavior 18 10 Major 69 %
Logical To in_array All, Analyze, Level 2, ChangedBehavior 30 4 Minor 67 %
Pre-increment Analyze, Performances, All, Simple, Level 4, CI-checks, ChangedBehavior, CE 7 3 Minor 74 %
strpos() Too Much All, Analyze, CI-checks, ChangedBehavior, CE 4 2 Minor 49 %
Assumptions All, Analyze, ChangedBehavior 19 4 Minor 0 %
Avoid mb_dectect_encoding() All, Analyze, ChangedBehavior 1 1 Minor 0 %
Use random_int() Analyze, Security, All, CompatibilityPHP71, Simple, Level 2, CI-checks, ChangedBehavior, CE 11 5 Major 59 %
False To Array Conversion All, LintButWontExec, CompatibilityPHP81, CompatibilityPHP82, Analyze 13 1 Minor 0 %
Wrong Parameter Type Analyze, OneFile, All, Simple, CI-checks, ChangedBehavior, CE 23 7 Major 76 %
Use === null Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable, CI-checks, ChangedBehavior, CE 4 1 Minor 53 %
Possible Missing Subpattern All, Analyze, Top10, CI-checks, ChangedBehavior, CE 14 3 Minor 45 %
No Null For Native PHP Functions All, Analyze, CompatibilityPHP81, Deprecated, ChangedBehavior 73 5 Minor 0 %
Scalar Are Not Arrays All, Analyze, CompatibilityPHP74, CI-checks, ChangedBehavior, CE 16 7 Minor 0 %
Unknown Pcre2 Option All, Analyze, CompatibilityPHP73 2 2 Minor 17 %
Use PHP Object API Analyze, ClearPHP, All, Simple, CI-checks, CE 2 1 Minor 27 %
Wrong Type For Native PHP Function All, Analyze, CI-checks, CE 82 13 Minor 0 %
Adding Zero Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, Rector, CE 2 2 Minor 69 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 4 3 Major 56 %
Comparison Is Always The Same All, Analyze, ChangedBehavior 45 3 Minor 0 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4 19 6 Minor 64 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2, CI-checks, CE 5 2 Minor 77 %
Buried Assignation Analyze, All 12 2 Minor 84 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1 1 1 Minor 56 %
Check All Types All, Analyze 18 6 Major 69 %
Check Division By Zero All, Analyze, ChangedBehavior 5 1 Minor 0 %
Check JSON All, Analyze, CI-checks, CE 13 4 Major 65 %
Common Alternatives Analyze, All, Simple 10 2 Major 80 %
Concat Empty String All, Analyze, OneFile 2 1 Minor 0 %
Could Be Else All, Analyze 3 2 Minor 49 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple, CI-checks, Rector, ChangedBehavior, CE 2 1 Minor 63 %
Dangling Array References PHP recommendations, Analyze, ClearPHP, All, Simple, Level 1, Top10, CI-checks, CE 24 4 Major 46 %
Don't Change The Blind Var All, Analyze 7 3 Minor 73 %
Don't Mix ++ All, Analyze 5 2 Minor 56 %
Don't Read And Write In One Expression All, Analyze, CompatibilityPHP73, CompatibilityPHP74, CE 1 1 Critical 38 %
Don't Reuse Foreach Source All, Analyze 1 1 Minor 0 %
Double Assignation Analyze, All 5 3 Major 59 %
Double Checks All, Analyze 7 2 Minor 0 %
Drop Else After Return All, Analyze, OneFile, Simple, Suggestions, Level 4, CI-checks, CE 5 2 Minor 70 %
Echo With Concat Performances, Analyze, All, Simple, Suggestions 1 1 Minor 60 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector, CI-checks, CE 3 3 Minor 66 %
Empty Json Error All, Analyze, ChangedBehavior 1 1 Minor 0 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All, CI-checks, CE 1 1 Major 61 %
Foreach Reference Is Not Modified Analyze, All, Simple, CI-checks, CE 24 2 Minor 24 %
Identical Consecutive Expression All, Analyze 1 1 Minor 59 %
If With Same Conditions Analyze, All, Simple, CI-checks, CE 6 3 Major 47 %
Iffectations Analyze, All 12 1 Minor 80 %
Implode() Arguments Order All, Analyze, CI-checks, ChangedBehavior, CE 1 1 Minor 0 %
Indices Are Int Or String Analyze, OneFile, All, Simple, CI-checks, ChangedBehavior, CE 3 2 Major 20 %
Invalid Regex All, Analyze, CI-checks, ChangedBehavior, CE 1 1 Major 37 %
Logical Mistakes Analyze, All, Simple, Level 1, CI-checks, CE 1 1 Critical 32 %
Long Arguments All, Analyze 5 3 Minor 68 %
Max Level Of Nesting All, Analyze 21 11 Minor 0 %
Mbstring Unknown Encoding All, Analyze, CI-checks, CE 1 1 Minor 0 %
Merge If Then All, Analyze, CI-checks, ChangedBehavior, CE 18 6 Minor 0 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4 1 1 Major 64 %
Missing Assignation In Command All, Analyze, ChangedBehavior 73 5 Minor 0 %
Missing Cases In Switch All, Analyze 4 1 Minor 36 %
Mixed Concat And Interpolation All, Coding Conventions, Analyze 1 1 Minor 45 %
Modernize Empty With Expression All, Analyze, OneFile, Simple 2 2 Minor 63 %
Multiple Type Variable All, Analyze, Level 4 2 1 Minor 58 %
Nested Ifthen Analyze, All, RadwellCodes 46 5 Major 84 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 2 1 Major 50 %
No Choice Analyze, All, Simple, Level 2, Top10, CI-checks, Rector, ChangedBehavior, CE 12 3 Major 42 %
No Hardcoded Hash Analyze, Security, All, Simple 7 1 Critical 45 %
No Need For Else All, Analyze 9 2 Minor 74 %
No Need For Triple Equal All, Analyze 3 2 Minor 0 %
No Null For Index All, Analyze, ChangedBehavior 16 9 Minor 0 %
No Parenthesis For Language Construct Analyze, ClearPHP, All, RadwellCodes, Simple, Suggestions, Level 2, CI-checks, ChangedBehavior, CE 5 4 Minor 62 %
Avoid Substr() One Analyze, Performances, All, CompatibilityPHP71, Simple, Level 2, Suggestions, Top10, CI-checks, CE 2 1 Minor 58 %
Variable Is Not A Condition All, Analyze 180 16 Minor 93 %
Non Integer Nor String As Index All, Analyze, ChangedBehavior 3 2 Minor 0 %
@ Operator Appinfo, ClearPHP, All, Analyze, Performances, CI-checks, CE 13 1 Minor 65 %
Objects Don't Need References Analyze, ClearPHP, OneFile, All, Simple, Level 2, Top10, CI-checks, CE 1 1 Minor 40 %
Several Instructions On The Same Line Analyze, All, ChangedBehavior 2 1 Major 56 %
Repeated Regex All, Analyze, Level 1, CI-checks, CE 5 1 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 3 2 Major 46 %
Should Chain Exception Analyze, All, Simple, CI-checks, CE 104 12 Minor 39 %
Should Use Ternary Operator All, Analyze, OneFile, Simple, CI-checks, CE 57 7 Minor 86 %
Preprocessable Analyze, All, Rector 58 7 Minor 85 %
Static Loop Analyze, All, Simple, Level 4 1 1 Minor 67 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE 2 1 Major 54 %
Suspicious Comparison All, Analyze, Level 3 1 1 Major 39 %
Switch To Switch Analyze, All, RadwellCodes, Simple 6 3 Minor 58 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks, CE 5 3 Major 69 %
Test Then Cast All, Analyze 2 1 Major 34 %
Unconditional Break In Loop All, Analyze, Level 3, CI-checks, CE 1 1 Major 48 %
Unsupported Types With Operators All, Analyze, CompatibilityPHP80, CE 31 4 Minor 0 %
Use Positive Condition All, Analyze, OneFile, Simple 15 5 Minor 82 %
Use Same Types For Comparisons All, Analyze 11 1 Minor 0 %
Useless Type Casting All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4, CI-checks, CE 165 2 Minor 47 %
Useless Coalesce All, Analyze, ChangedBehavior 2 2 Minor 0 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE 26 4 Minor 63 %
Useless Null Coalesce All, Analyze, Typehints 11 4 Minor 0 %
Useless Parenthesis Analyze, All, Simple, CI-checks, CE 49 5 Minor 81 %
Useless Short Ternary All, Analyze, ChangedBehavior 1 1 Minor 0 %
Wrong Range Check All, Analyze 5 1 Major 11 %
One Variable String Analyze, All, RadwellCodes, Simple, CI-checks, CE 1 1 Minor 33 %
Should Typecast Analyze, OneFile, All, Simple, CI-checks, Rector, CE 1 1 Minor 49 %
String May Hold A Variable Analyze, All, Simple 5 1 Minor 59 %
Missing Some Returntype All, Typehints, Analyze, CI-checks, CE 38 7 Minor 0 %
StandaloneType True False Null All, Appcontent, Analyze, ChangedBehavior 15 14 Minor 0 %
Wrong Type With Default All, Analyze, LintButWontExec, ClassReview 112 9 Minor 0 %
Assigned Twice All, Analyze 114 10 Minor 79 %
Overwritten Literals Analyze, All 153 10 Major 79 %
Undefined Variable All, Analyze, CI-checks, Undefined, CE 37 2 Minor 77 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4, CE 14 6 Minor 95 %