PHP Static analysis for public

Label Recipes Issues Files Severity Frequence
Append And Assign Arrays Analyze, Internal, All, ChangedBehavior 1 1 Minor 0 %
Randomly Sorted Arrays Analyze, All, Suggestions, Level 4 1 1 Minor 19 %
Weak Type With Array Analyze, All, ChangedBehavior 161 63 Minor 0 %
Abstract Or Implements Analyze, All, LintButWontExec, ChangedBehavior 267 267 Major 20 %
Ambiguous Static Analyze, All, Semantics, ChangedBehavior 44 39 Minor 49 %
Ambiguous Visibilities Analyze, All, Semantics, ChangedBehavior 282 180 Minor 55 %
Avoid Optional Properties Analyze, All, ChangedBehavior 68 27 Major 60 %
Check After Null Safe Operator Analyze, All, Suggestions, ChangedBehavior 1 1 Major 0 %
Could Be Abstract Class Analyze, All, ClassReview, ChangedBehavior 1 1 Minor 38 %
Class Could Be Final Analyze, All, ClassReview, ChangedBehavior 381 381 Minor 95 %
Method Could Be Static Analyze, All, ClassReview, ChangedBehavior 484 203 Minor 88 %
Could Inject Parameter Analyze, All, ClassReview, ChangedBehavior 177 66 Minor 0 %
Cyclic References Analyze, All, ClassReview, ChangedBehavior 6 3 Minor 0 %
Dependant Abstract Classes Analyze, All, ClassReview, ChangedBehavior 1 1 Minor 0 %
Different Argument Counts Analyze, All, ClassReview, ChangedBehavior 2 1 Minor 0 %
Don't Send $this In Constructor Analyze, All, ChangedBehavior 2 2 Minor 21 %
Don't Unset Properties Analyze, All, Top10, php-cs-fixable, CI-checks, CE, ChangedBehavior 7 6 Major 21 %
Empty Classes Analyze, All, Simple, ChangedBehavior 22 22 Minor 37 %
Incompatible Signature Methods With Covariance Analyze, All, ChangedBehavior 87 27 Critical 0 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2, ChangedBehavior 77 62 Minor 51 %
Method Signature Must Be Compatible Analyze, All, LintButWontExec, ChangedBehavior 168 100 Critical 32 %
Mismatch Properties Types Analyze, All, LintButWontExec, ClassReview, ChangedBehavior 10 5 Minor 0 %
Missing Default To Property Analyze, All 104 33 Minor 0 %
New Object Then Immediate Call Analyze, All, ClassReview 1 1 Minor 0 %
No Null With Null Safe Operator Analyze, All, ClassReview, ChangedBehavior 1 1 Minor 0 %
No Public Access Analyze, All, ChangedBehavior 174 70 Minor 37 %
No Readonly Assignation In Global Analyze, All, ClassReview, ChangedBehavior 69 14 Minor 0 %
Non Nullable Getters Analyze, All, ClassReview, ChangedBehavior 4 4 Minor 0 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 119 62 Minor 27 %
Parent First Analyze, All, Suggestions, ChangedBehavior 2 2 Minor 36 %
Private Set Visibility Makes Property Final Analyze, All, ClassReview 3 2 Major 0 %
Property Could Be Local Analyze, All, ClassReview, ChangedBehavior 19 14 Minor 62 %
Same Name For Property And Method Analyze, All, ClassReview, Semantics, ChangedBehavior 32 11 Minor 0 %
Never Used Properties Analyze, All, Simple, Unused, ChangedBehavior 327 185 Minor 44 %
Property Used In One Method Only Analyze, All, ChangedBehavior 230 144 Minor 73 %
Readonly Property Compatibility Analyze, All, ClassReview 4 4 Major 0 %
Scalar Or Object Property Analyze, All 1 1 Minor 21 %
Should Use Local Class Analyze, ClearPHP, All, Simple, ChangedBehavior 156 44 Minor 96 %
Too Many Dereferencing Analyze, All, ChangedBehavior 1 1 Minor 0 %
Undefined Classes Analyze, All, Stubs, Undefined 457 173 Major 97 %
Undefined Class Constants Analyze, All, LintButWontExec, CI-checks, CE, Stubs, ChangedBehavior, Undefined 916 128 Major 59 %
Undefined Properties Analyze, ClearPHP, All, Simple, CI-checks, CE, CompatibilityPHP82, ChangedBehavior, Undefined 120 59 Major 61 %
Undefined static:: Or self:: Analyze, All, Simple, ChangedBehavior, Undefined 9 5 Minor 26 %
Undefined static ::class Analyze, All, CI-checks, CE, ChangedBehavior, Undefined 9 9 Major 37 %
Unfinished Object Analyze, All, ClassReview, ChangedBehavior 577 255 Major 0 %
Unresolved Classes Analyze, All, Stubs, ChangedBehavior 21 18 Major 67 %
Unused Classes Analyze, Dead code, All, Simple, Unused, ChangedBehavior 35 35 Major 56 %
Unused Class Constant Analyze, All, ClassReview, Unused, ChangedBehavior 9 1 Minor 0 %
Unused Public Methods Analyze, All, ChangedBehavior 1193 335 Minor 0 %
Use Instanceof Analyze, All, Simple, CI-checks, CE, ChangedBehavior 8 5 Major 35 %
Used Once Property Analyze, All, ChangedBehavior 49 41 Minor 43 %
Useless Abstract Class Analyze, All, Simple, ChangedBehavior 1 1 Minor 27 %
Useless Constructor Analyze, All, Simple, Level 3, ChangedBehavior 3 3 Minor 23 %
Weak Typing Analyze, All, ChangedBehavior 23 11 Minor 50 %
Wrong Typed Property Default Analyze, All, LintButWontExec, ClassReview, CI-checks, CE 12 6 Minor 0 %
Unused Enumeration Case Analyze, Dead code, All, Unused, ChangedBehavior 27 1 Minor 0 %
Catch With Undefined Variable Analyze, All, ChangedBehavior, Undefined 1 1 Minor 0 %
Forgotten Thrown Analyze, All, ChangedBehavior 188 16 Minor 23 %
Throw Raw Exceptions Analyze, All, Suggestions, ChangedBehavior 1 1 Minor 0 %
Uncaught Exceptions Analyze, All, ChangedBehavior 1 1 Minor 73 %
Unthrown Exception Analyze, Dead code, ClearPHP, All, Simple, ChangedBehavior 17 17 Minor 30 %
Useless Try Analyze, All, ChangedBehavior 11 5 Minor 0 %
Missing Include Analyze, All, ChangedBehavior 1 1 Critical 36 %
Native Alias Functions Usage Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 136 55 Minor 22 %
Use Named Boolean In Argument Definition Analyze, All, ChangedBehavior 119 72 Minor 63 %
Could Make A Function Analyze, All, Suggestions, ChangedBehavior 31 19 Minor 37 %
Empty Function Analyze, All, Simple, ChangedBehavior 320 106 Minor 67 %
Fn Argument Variable Confusion Analyze, All, Semantics, ChangedBehavior 7 6 Minor 0 %
Hardcoded Passwords Analyze, Security, OneFile, All, Simple, Level 3, ChangedBehavior 10 5 Major 49 %
Insufficient Type Analyze, All, Typechecks, ChangedBehavior 8 5 Major 29 %
Method Is Not An If Analyze, All 27 17 Minor 0 %
Mismatch Type And Default Analyze, All, LintButWontExec, Typechecks, ChangedBehavior 9 9 Critical 9 %
Mismatched Default Arguments Analyze, All, Typechecks, ChangedBehavior 8 6 Minor 38 %
Mismatched Type Usage Analyze, All 4 4 Minor 0 %
Mismatched Type Analyze, All, Typechecks, ChangedBehavior 56 24 Major 44 %
Modified Typed Parameter Analyze, All, ClassReview, ChangedBehavior 62 17 Minor 0 %
Must Return Methods Analyze, All, Simple, Level 2, LintButWontExec, CI-checks, CE, ChangedBehavior 9 6 Major 26 %
Never Called Parameter Analyze, All, Suggestions, Rector, Unused 24 19 Minor 55 %
No Boolean As Default Analyze, All 76 47 Minor 61 %
No Default For Referenced Parameter Analyze, All, ChangedBehavior 2 2 Minor 0 %
No Return Used Analyze, All, Suggestions, Level 4, ChangedBehavior 60 12 Minor 50 %
Renamed Parameter Analyze, All, Readability 2 1 Minor 0 %
Too Many Local Variables Analyze, All 2 2 Minor 37 %
Type Must Be Returned Analyze, All, LintButWontExec, CI-checks, CE, ChangedBehavior 1 1 Major 17 %
Class-typed References Analyze, All, CI-checks, CE 1 1 Minor 13 %
Undefined Functions Analyze, All, CI-checks, CE, Stubs, Undefined 17 13 Major 34 %
Unused Parameter Analyze, All, Simple, Unused 23 6 Major 83 %
Unused Returned Value Analyze, Dead code, OneFile, All, Simple, Unused 79 15 Minor 55 %
Use Constant As Arguments Analyze, All, Simple, CI-checks, CE, ChangedBehavior 5 2 Major 16 %
Useless Referenced Argument Analyze, All, ChangedBehavior 1 1 Minor 27 %
Uses Default Values Analyze, All, Simple, CI-checks, CE, ChangedBehavior 872 204 Minor 95 %
Methods Without Return Analyze, All 24 12 Minor 20 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple, CI-checks, CE, Stubs, ChangedBehavior 46 22 Major 60 %
Wrong Type Returned Analyze, All, LintButWontExec, ClassReview, CI-checks, CE, ChangedBehavior 725 146 Minor 0 %
Wrong Type With Call Analyze, All, Typechecks, CI-checks, CE, ChangedBehavior 197 48 Minor 0 %
Already Parents Interface Analyze, All, Suggestions, Level 3, ChangedBehavior 11 11 Minor 20 %
Forgotten Interface Analyze, All, ChangedBehavior 29 29 Minor 46 %
Empty Interfaces Analyze, All, Simple, ChangedBehavior 29 29 Minor 28 %
Interfaces Is Not Implemented Analyze, All, LintButWontExec, ClassReview, CI-checks, CE, ChangedBehavior 37 37 Minor 0 %
Interfaces Don't Ensure Properties Analyze, All, ClassReview, ChangedBehavior 293 59 Minor 0 %
Repeated Interface Analyze, All, LintButWontExec, ChangedBehavior 11 11 Minor 20 %
Undefined Interfaces Analyze, All, LintButWontExec, CI-checks, CE, ChangedBehavior, Undefined 215 124 Major 90 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks, ChangedBehavior 18 18 Minor 39 %
Unresolved Use Analyze, ClearPHP, All, Simple, ChangedBehavior 167 112 Major 92 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE, ChangedBehavior 4 4 Major 45 %
Logical To in_array() Analyze, All, Level 2, ChangedBehavior 5 5 Minor 39 %
Pre-increment Analyze, Performances, All, Simple, Level 4, CI-checks, CE, ChangedBehavior 61 18 Minor 45 %
array_key_exists() Works On Arrays Analyze, All, CompatibilityPHP74, CE, ChangedBehavior 5 2 Minor 0 %
Assumptions Analyze, All, ChangedBehavior 40 32 Minor 0 %
Deprecated PHP Functions Analyze, All, CI-checks, CE 1 1 Major 9 %
Has Property Hook Analyze, Appinfo, All, CompatibilityPHP84 252 75 Minor 0 %
Incompilable Files Analyze, Appinfo, ClearPHP, All, Simple, CE 13 13 Critical 9 %
Wrong Parameter Type Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 2 2 Major 45 %
Use === null Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable, CI-checks, CE, ChangedBehavior 5 5 Minor 27 %
PHP Native Interfaces and Return Type Analyze, All, LintButWontExec, CompatibilityPHP81, Deprecated, ChangedBehavior 8 4 Minor 0 %
Logical Should Use Symbolic Operators Analyze, OneFile, ClearPHP, All, Simple, Suggestions, Level 2, Top10, php-cs-fixable, CI-checks, CE 4 2 Minor 18 %
Possible Missing Subpattern Analyze, All, Top10, CI-checks, CE, ChangedBehavior 5 3 Minor 24 %
PHP Native Class Type Compatibility Analyze, All, CompatibilityPHP81, ChangedBehavior 39 7 Major 0 %
No Array In Isset Analyze, All 1 1 Minor 0 %
No Null For Native PHP Functions Analyze, All, CompatibilityPHP81, Deprecated, ChangedBehavior 10 5 Minor 0 %
Scalar Are Not Arrays Analyze, All, CompatibilityPHP74, CI-checks, CE, ChangedBehavior 6 1 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3, CI-checks, CE, ChangedBehavior 1 1 Major 47 %
Use PHP Object API Analyze, ClearPHP, All, Simple, CI-checks, CE, ChangedBehavior 2 2 Minor 12 %
Avoid Using stdClass Analyze, OneFile, All, Simple, Level 4 6 1 Minor 28 %
Wrong Attribute Configuration Analyze, All, ChangedBehavior 30 6 Minor 0 %
Wrong Type For Native PHP Function Analyze, All, CI-checks, CE, ChangedBehavior 28 24 Minor 0 %
Comparison Is Always The Same Analyze, All, ChangedBehavior 161 22 Minor 0 %
Bail Out Early Analyze, OneFile, All, Simple, Level 4, ChangedBehavior 23 13 Minor 74 %
Buried Assignation Analyze, All, ChangedBehavior 18 11 Minor 58 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1, ChangedBehavior 1 1 Minor 26 %
Catch Overwrite Variable Analyze, ClearPHP, All, Simple, ChangedBehavior 5 1 Minor 13 %
Check All Types Analyze, All, ChangedBehavior 7 5 Major 39 %
Check Division By Zero Analyze, All, ChangedBehavior 2 1 Minor 0 %
Check JSON Analyze, All, CI-checks, CE 8 7 Major 46 %
Common Alternatives Analyze, All, Simple, ChangedBehavior 6 4 Major 48 %
Could Be Else Analyze, All, ChangedBehavior 1 1 Minor 23 %
Could Use Short Assignation Analyze, Performances, OneFile, All, Simple, Rector, CI-checks, CE, ChangedBehavior 2 2 Minor 34 %
Default Then Discard Analyze, All, ChangedBehavior, Readability 2 2 Minor 0 %
Don't Change The Blind Var Analyze, All, ChangedBehavior 5 4 Minor 46 %
Don't Mix ++ Analyze, All, ChangedBehavior 4 3 Minor 30 %
Drop Else After Return Analyze, OneFile, All, Simple, Suggestions, Level 4, CI-checks, CE, ChangedBehavior 12 7 Minor 38 %
Empty Blocks Analyze, All, Simple, CI-checks, CE, ChangedBehavior 2 2 Minor 25 %
Empty Instructions Analyze, Dead code, All, Simple, ChangedBehavior 2 2 Minor 19 %
Empty Loop Analyze, All, ChangedBehavior 2 2 Major 0 %
Empty Try Catch Analyze, All, Level 3 1 1 Minor 30 %
foreach() On Object Analyze, All 2 2 Minor 0 %
Htmlentities Calls Analyze, All, Simple, CI-checks, CE, ChangedBehavior 5 2 Major 16 %
Htmlentities Using Default Flag Analyze, All, Simple, CI-checks, ChangedBehavior 5 2 Minor 0 %
Identical Case In Switch Analyze, All, ChangedBehavior 20 4 Minor 0 %
Identical Consecutive Expression Analyze, All, ChangedBehavior 1 1 Minor 30 %
If With Same Conditions Analyze, All, Simple, CI-checks, CE, ChangedBehavior 1 1 Major 23 %
Iffectations Analyze, All, ChangedBehavior 7 3 Minor 53 %
Implicit Conversion To Int Analyze, All, LintButWontExec 3 2 Minor 0 %
Implied If Analyze, ClearPHP, All, Simple, Rector, CI-checks, CE, ChangedBehavior 3 1 Major 18 %
Implode() Arguments Order Analyze, All, CI-checks, CE, ChangedBehavior 1 1 Minor 0 %
Indices Are Int Or String Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 8 3 Major 58 %
Infinite Recursion Analyze, All, ChangedBehavior 1 1 Major 0 %
Long Arguments Analyze, All, ChangedBehavior 6 4 Minor 51 %
Max Level Of Nesting Analyze, All, ChangedBehavior 4 4 Minor 0 %
Merge If Then Analyze, All, CI-checks, CE, ChangedBehavior 2 1 Minor 0 %
Mismatched Ternary Alternatives Analyze, All, Suggestions, Level 4, ChangedBehavior 2 2 Major 31 %
Missing Assignation In Branches Analyze, All, ChangedBehavior 20 17 Minor 0 %
Multiple Type Variable Analyze, All, Level 4, ChangedBehavior 2 1 Minor 29 %
Nested Ifthen Analyze, All, RadwellCodes, ChangedBehavior 16 8 Major 59 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 5 3 Major 27 %
No Choice Analyze, All, Simple, Level 2, Top10, Rector, CI-checks, CE, ChangedBehavior 15 10 Major 39 %
No Need For Else Analyze, All, ChangedBehavior 18 12 Minor 41 %
No Need For Triple Equal Analyze, All, ChangedBehavior 17 6 Minor 0 %
No Null For Index Analyze, All, ChangedBehavior 1 1 Minor 0 %
Variable Is Not A Condition Analyze, All, ChangedBehavior 49 26 Minor 75 %
Non Integer Nor String As Index Analyze, All, ChangedBehavior 8 3 Minor 0 %
@ Operator Analyze, Appinfo, Performances, ClearPHP, All, CI-checks, CE, ChangedBehavior 12 7 Minor 48 %
include_once() Usage Analyze, Appinfo, All, CE, ChangedBehavior 1 1 Minor 48 %
Several Instructions On The Same Line Analyze, All, ChangedBehavior 1 1 Major 25 %
Repeated Regex Analyze, All, Level 1, CI-checks, CE, ChangedBehavior 7 3 Minor 29 %
Same Conditions In Condition Analyze, All, Simple, CI-checks, CE, ChangedBehavior 1 1 Critical 24 %
Should Use Ternary Operator Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 8 7 Minor 58 %
Preprocessable Analyze, All, Rector, ChangedBehavior 115 22 Minor 74 %
Static Inclusions Analyze, All, ChangedBehavior 2 2 Minor 0 %
Static Loop Analyze, All, Simple, Level 4, ChangedBehavior 5 5 Minor 38 %
Suspicious Comparison Analyze, All, Level 3, ChangedBehavior 6 1 Major 25 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks, CE, ChangedBehavior 22 19 Major 39 %
Test Then Cast Analyze, All, ChangedBehavior 2 2 Major 16 %
Unconditional Break In Loop Analyze, All, Level 3, CI-checks, CE 5 3 Major 40 %
Use Positive Condition Analyze, OneFile, All, Simple, ChangedBehavior 11 8 Minor 56 %
Useless Type Casting Analyze, PHP recommendations, OneFile, All, RadwellCodes, Simple, Level 4, CI-checks, CE, ChangedBehavior 1 1 Minor 35 %
Useless Check Before Foreach Analyze, OneFile, All, Simple, Level 1, CI-checks, CE 11 4 Minor 13 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 21 16 Minor 54 %
Useless Null Coalesce Analyze, All, Typehints, ChangedBehavior 11 10 Minor 0 %
Useless Parenthesis Analyze, All, Simple, CI-checks, CE, ChangedBehavior 23 14 Minor 52 %
var_dump()... Usage Analyze, Security, ClearPHP, All, CI-checks, CE, ChangedBehavior 61 6 Critical 19 %
Wrong Precedence In Expression Analyze, All, ChangedBehavior 2 1 Minor 0 %
Should Typecast Analyze, OneFile, All, Simple, Rector, CI-checks, CE, ChangedBehavior 36 20 Minor 23 %
String May Hold A Variable Analyze, All, Simple, ChangedBehavior 1 1 Minor 38 %
Missing Some Returntype Analyze, All, Typehints, CI-checks, CE, ChangedBehavior 57 34 Minor 0 %
StandaloneType True False Null Analyze, Appcontent, All, ChangedBehavior 491 178 Minor 0 %
Wrong Type With Default Analyze, All, LintButWontExec, ClassReview, ChangedBehavior 37 31 Minor 0 %
Assigned Twice Analyze, All, ChangedBehavior 35 10 Minor 51 %
Overwritten Literals Analyze, All, ChangedBehavior 39 10 Major 51 %
Used Once Variables (In Scope) Analyze, OneFile, ClearPHP, All, Simple, Level 4, CE, ChangedBehavior 1182 251 Minor 88 %
Written Only Variables Analyze, OneFile, All, Simple, Unused, ChangedBehavior 5 1 Minor 64 %