PHP Static analysis for public

Label Recipes Issues Files Severity Frequence
Null Or Boolean Arrays All, Analyze, ChangedBehavior 167 31 Minor 0 %
Randomly Sorted Arrays All, Analyze, Level 4, Suggestions 2 2 Minor 41 %
Too Many Array Dimensions All, Analyze 9 3 Minor 0 %
Weak Type With Array All, Analyze 317 69 Minor 0 %
Ambiguous Static All, Analyze, Semantics 151 137 Minor 66 %
Ambiguous Visibilities All, Analyze, Semantics 98 45 Minor 70 %
Avoid option arrays in constructors All, Analyze, ClassReview 4 4 Minor 0 %
Avoid Optional Properties All, Analyze 166 37 Major 84 %
Can't Instantiate Class All, Analyze 1 1 Critical 30 %
Check On __Call Usage All, Analyze, CI-checks, CE 1 1 Minor 0 %
Could Be Abstract Class All, Analyze, ClassReview 8 8 Minor 65 %
Class Could Be Final All, Analyze, ClassReview 341 331 Minor 96 %
Method Could Be Static All, Analyze, ClassReview 465 154 Minor 92 %
Could Inject Param All, Analyze, ClassReview 35 18 Minor 0 %
Different Argument Counts All, Analyze, ClassReview 30 30 Minor 0 %
No Direct Call To Magic Method Analyze, All, Level 2, CI-checks, CE 4 1 Major 43 %
Don't Send $this In Constructor All, Analyze 2 2 Minor 41 %
Don't Unset Properties All, Analyze, Top10, php-cs-fixable, CI-checks, CE 11 3 Major 42 %
Empty Classes Analyze, All, Simple 1 1 Minor 60 %
Hidden Nullable Typehint All, Analyze, ClassReview 2 2 Minor 0 %
Incompatible Signature Methods With Covariance All, Analyze 62 32 Critical 0 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2 62 29 Minor 71 %
Make Global A Property Analyze, All, Simple 72 35 Minor 37 %
Method Signature Must Be Compatible All, Analyze, LintButWontExec 30 30 Critical 53 %
Multiple Class Declarations Analyze, All, Simple, CI-checks, CE 34 32 Major 29 %
Multiple Identical Trait Or Interface Analyze, OneFile, All, Simple, CI-checks, CE 35 35 Minor 0 %
No Public Access Analyze, All 214 113 Minor 61 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 446 32 Minor 42 %
Var Keyword Analyze, OneFile, ClearPHP, All, Simple, Level 1 96 2 Minor 4 %
Parent First All, Analyze, Suggestions 2 2 Minor 56 %
Property Could Be Local All, Analyze, ClassReview 51 29 Minor 76 %
Same Name For Property And Method All, Analyze, ClassReview, Semantics 236 56 Minor 0 %
Never Used Properties Analyze, All, Simple, Unused 132 98 Minor 71 %
Property Used In One Method Only All, Analyze 208 75 Minor 84 %
Scalar Or Object Property All, Analyze 2 2 Minor 32 %
Could Use self Analyze, All, Simple, Suggestions, Level 3, ClassReview 45 15 Minor 63 %
Should Use Local Class Analyze, ClearPHP, All, Simple 555 183 Minor 95 %
Static Methods Called From Object Analyze, All, Simple, CI-checks, IsPHP, IsStub, IsExt, CE 3 3 Minor 50 %
$this Belongs To Classes Or Traits Analyze, All, Simple, LintButWontExec 45 20 Major 32 %
Too Many Dereferencing All, Analyze 3 3 Minor 0 %
Undefined Classes Analyze, All, Stubs, Undefined, IsPHP, IsStub, IsExt 489 166 Major 91 %
Undefined Parent Analyze, All, Simple, Undefined 3 3 Minor 45 %
Undefined Properties Analyze, ClearPHP, All, Simple, CI-checks, CompatibilityPHP82, Undefined, ChangedBehavior, CE 1428 144 Major 61 %
Unfinished Object All, Analyze, ClassReview 118 30 Major 0 %
Unreachable Method All, Analyze, Dead code, ClassReview, Unused 4 2 Minor 0 %
Unresolved Classes Analyze, All, Stubs 33 30 Major 76 %
Unresolved Instanceof Analyze, Dead code, ClearPHP, All, Simple, Top10 3 3 Major 48 %
Unused Classes Dead code, All, Simple, Analyze, Unused 6 6 Major 67 %
Unused Public Method All, Analyze 435 172 Minor 0 %
Use ::Class Operator All, Analyze, Performances, Simple, CI-checks, CE 208 91 Minor 71 %
Use Instanceof Analyze, All, Simple, CI-checks, CE 57 22 Major 63 %
Used Once Property All, Analyze 5 5 Minor 74 %
Useless Constructor Analyze, All, Simple, Level 3 5 5 Minor 41 %
Weak Typing All, Analyze 10 7 Minor 47 %
Use const Analyze, Coding Conventions, All, Top10, CI-checks, CE 186 14 Minor 54 %
Multiple Constant Definition Analyze, All, Simple, CI-checks, CE 66 4 Minor 41 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72, CI-checks, Stubs, Undefined, IsPHP, IsStub, IsExt, CE 122 26 Minor 71 %
Catch With Undefined Variable All, Analyze, Undefined 1 1 Minor 0 %
Converted Exceptions All, Analyze 1 1 Minor 0 %
Forgotten Thrown All, Analyze 1 1 Minor 20 %
Throw Functioncall Analyze, All, Simple, Level 1, CI-checks, CE 1 1 Major 4 %
Throw Raw Exceptions All, Analyze, Suggestions 39 17 Minor 0 %
Uncaught Exceptions Analyze, All 48 19 Minor 84 %
Useless Try All, Analyze 4 4 Minor 0 %
Missing Include All, Analyze 25 16 Critical 65 %
Native Alias Functions Usage Analyze, ClearPHP, OneFile, All, Simple, Level 1, CI-checks, CE 12 8 Minor 20 %
Use Named Boolean In Argument Definition All, Analyze 109 69 Minor 84 %
Could Make A Function All, Analyze, Suggestions 3109 292 Minor 66 %
Deep Definitions Analyze, Appinfo, All, Simple, CE 18 12 Major 13 %
Dont Collect Void All, Analyze, IsPHP, IsStub, IsExt 73 24 Minor 0 %
Empty Function Analyze, All, Simple 9 9 Minor 74 %
Hardcoded Passwords Analyze, OneFile, Security, All, Simple, Level 3 531 38 Major 70 %
Method Is Not An If All, Analyze 100 64 Minor 0 %
Mismatched Default Arguments All, Analyze, Typechecks 30 12 Minor 80 %
Mismatched Typehint All, Analyze, Typechecks 3 2 Major 66 %
Modified Typed Parameter All, Analyze, ClassReview 1 1 Minor 0 %
Never Called Parameter All, Analyze, Suggestions, Rector, Unused 161 142 Minor 92 %
No Boolean As Default All, Analyze 121 73 Minor 84 %
No Return Used All, Analyze, Suggestions, Level 4 93 47 Minor 69 %
Only Variable Passed By Reference All, Analyze, IsPHP, IsStub, IsExt 1 1 Critical 43 %
Relay Function Analyze, All 37 19 Major 84 %
Should Use Existing Constants Analyze, All, Simple 2 1 Minor 32 %
Too Many Local Variables All, Analyze 32 31 Minor 64 %
Undefined Functions Analyze, All, CI-checks, Stubs, Undefined, IsPHP, IsStub, IsExt, CE 4994 326 Major 68 %
Unused Parameter Analyze, All, Simple, Unused 99 41 Major 90 %
Useless Referenced Argument All, Analyze 5 5 Minor 58 %
Useless Return Analyze, OneFile, All, Simple, Level 4 1 1 Minor 30 %
Uses Default Values Analyze, All, Simple, CI-checks, IsPHP, IsStub, IsExt, CE 3443 378 Minor 98 %
Using Deprecated Method All, Analyze, Attributes 5 2 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple, CI-checks, Stubs, IsPHP, IsStub, IsExt, CE 57 38 Major 81 %
Wrong Optional Parameter Analyze, All, Simple, Level 1, CI-checks, CompatibilityPHP80, ChangedBehavior, CE 1 1 Minor 32 %
Wrong Type Returned All, Analyze, ClassReview, CI-checks, LintButWontExec, CE 309 65 Minor 0 %
Wrong Type With Call All, Analyze, Typechecks, CI-checks, CE 4 2 Minor 0 %
Already Parents Interface Analyze, All, Level 3, Suggestions, IsPHP, IsStub, IsExt 35 35 Minor 26 %
Forgotten Interface All, Analyze 4 3 Minor 48 %
Empty Interfaces Analyze, All, Simple 1 1 Minor 41 %
Interfaces Is Not Implemented All, Analyze, ClassReview, LintButWontExec, CI-checks, IsPHP, IsStub, IsExt, CE 32 32 Minor 0 %
Repeated Interface All, Analyze, LintButWontExec 35 35 Minor 0 %
Undefined Interfaces Analyze, All, CI-checks, LintButWontExec, Undefined, IsPHP, IsStub, IsExt, CE 3 3 Major 72 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks 2 2 Minor 59 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE 25 14 Major 57 %
Logical To in_array All, Analyze, Level 2 53 34 Minor 67 %
Memoize MagicCall All, Analyze, ClassReview 1 1 Minor 0 %
Pre-increment Analyze, Performances, All, Simple, Level 4, CI-checks, CE 119 53 Minor 74 %
strpos() Too Much All, Analyze, CI-checks, CE 15 10 Minor 49 %
array_key_exists() Works On Arrays All, CompatibilityPHP74, Analyze, CE 52 19 Minor 0 %
Assign With And Precedence All, Analyze, CI-checks, CE 1 1 Critical 9 %
Assumptions All, Analyze 8 8 Minor 0 %
Avoid mb_dectect_encoding() All, Analyze 1 1 Minor 0 %
Use random_int() Analyze, Security, All, CompatibilityPHP71, Simple, Level 2, CI-checks, CE 6 3 Major 59 %
Crc32() Might Be Negative All, PHP recommendations, Analyze 1 1 Major 4 %
Deprecated PHP Functions Analyze, All, CI-checks, CE 2 2 Major 23 %
Don't Pollute Global Space All, Analyze 724 360 Minor 0 %
False To Array Conversion All, LintButWontExec, CompatibilityPHP81, CompatibilityPHP82, Analyze 44 16 Minor 0 %
Foreach On Object All, Analyze 5 1 Major 1 %
Incompilable Files Analyze, Appinfo, ClearPHP, All, Simple, CE 3 3 Critical 24 %
Wrong Parameter Type Analyze, OneFile, All, Simple, CI-checks, CE 46 26 Major 76 %
Use === null Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable, CI-checks, CE 202 109 Minor 53 %
Logical Should Use Symbolic Operators Analyze, OneFile, ClearPHP, All, Simple, Suggestions, Level 2, Top10, php-cs-fixable, CI-checks, CE 307 36 Minor 43 %
Possible Missing Subpattern All, Analyze, Top10, CI-checks, CE 10 6 Minor 45 %
No Class In Global All, Analyze, CI-checks, CE 495 357 Minor 77 %
No Null For Native PHP Functions All, Analyze, CompatibilityPHP81, Deprecated 155 54 Minor 0 %
Only Container For Reference All, Analyze, LintButWontExec, IsPHP, IsStub, IsExt 1 1 Critical 0 %
Scalar Are Not Arrays All, Analyze, CompatibilityPHP74, CI-checks, CE 3 1 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3, CI-checks, CE 245 104 Major 71 %
Too Many Native Calls All, Analyze, IsPHP, IsExt 3 2 Minor 49 %
Unknown Pcre2 Option All, Analyze, CompatibilityPHP73 13 1 Minor 17 %
Avoid Using stdClass All, Analyze, OneFile, Simple, Level 4 6 3 Minor 46 %
Wrong Type For Native PHP Function All, Analyze, CI-checks, CE 243 78 Minor 0 %
Adding Zero Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, Rector, CE 1 1 Minor 69 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 10 10 Major 56 %
Alternative Syntax Consistence All, Analyze 30 1 Major 21 %
Comparison Is Always The Same All, Analyze 8 5 Minor 0 %
Array_merge Needs Array Of Arrays All, Analyze 42 26 Minor 0 %
Assign And Compare All, Analyze, CI-checks, CE 1 1 Minor 18 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4 246 118 Minor 64 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2, CI-checks, CE 233 94 Minor 77 %
Buried Assignation Analyze, All 70 23 Minor 84 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1 41 23 Minor 56 %
Check All Types All, Analyze 50 35 Major 69 %
Check Division By Zero All, Analyze 23 15 Minor 0 %
Check JSON All, Analyze, CI-checks, CE 78 37 Major 65 %
Common Alternatives Analyze, All, Simple 85 33 Major 80 %
Continue Is For Loop All, Analyze, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP73 1 1 Minor 10 %
Could Be Else All, Analyze 6 5 Minor 49 %
Could Be Static Analyze, OneFile, All, ClassReview 5 5 Major 23 %
Could Use __DIR__ Analyze, All, Simple, Suggestions, Level 3, php-cs-fixable, CI-checks, CE 24 14 Major 56 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple, CI-checks, Rector, CE 22 14 Minor 63 %
__DIR__ Then Slash All, Analyze, Level 3, CI-checks, CE 3 2 Major 14 %
Dont Change The Blind Var All, Analyze 29 23 Minor 73 %
Dont Mix ++ All, Analyze 20 2 Minor 56 %
Don't Read And Write In One Expression All, Analyze, CompatibilityPHP73, CompatibilityPHP74, CE 4 2 Critical 38 %
Dont Reuse Foreach Source All, Analyze 1 1 Minor 0 %
Double Assignation Analyze, All 23 16 Major 59 %
Double Checks All, Analyze 12 9 Minor 0 %
Double Instructions Analyze, All, Simple 14 6 Minor 57 %
Drop Else After Return All, Analyze, OneFile, Simple, Suggestions, Level 4, CI-checks, CE 44 22 Minor 70 %
Echo With Concat Performances, Analyze, All, Simple, Suggestions 233 90 Minor 60 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector, CI-checks, CE 161 64 Minor 66 %
Empty Blocks Analyze, All, Simple, CI-checks, CE 9 9 Minor 51 %
Empty Instructions Dead code, Analyze, All, Simple 113 99 Minor 57 %
Empty Loop All, Analyze 1 1 Major 0 %
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 130 55 Major 61 %
Foreach Reference Is Not Modified Analyze, All, Simple, CI-checks, CE 2 2 Minor 24 %
Forgotten Whitespace Analyze, All, CI-checks, CE 3 3 Minor 16 %
Global Usage Analyze, Appinfo, ClearPHP, All, CE 91 43 Minor 52 %
Htmlentities Calls Analyze, All, Simple, CI-checks, CE 14 9 Major 40 %
Htmlentities Using Default Flag All, Analyze, Simple, CI-checks, ChangedBehavior 13 9 Minor 0 %
Identical Case In Switch All, Analyze 32 6 Minor 0 %
Identical Consecutive Expression All, Analyze 10 9 Minor 59 %
If With Same Conditions Analyze, All, Simple, CI-checks, CE 2 2 Major 47 %
Iffectations Analyze, All 37 16 Minor 80 %
Implied If Analyze, ClearPHP, All, Simple, CI-checks, Rector, CE 32 2 Major 33 %
Implode() Arguments Order All, Analyze, CI-checks, ChangedBehavior, CE 4 2 Minor 0 %
Inconsistent Elseif All, Analyze 10 9 Major 73 %
Infinite Recursion All, Analyze 7 7 Major 0 %
Invalid Regex All, Analyze, CI-checks, CE 5 3 Major 37 %
Long Arguments All, Analyze 58 27 Minor 68 %
Max Level Of Nesting All, Analyze 81 52 Minor 0 %
Merge If Then All, Analyze, CI-checks, CE 108 51 Minor 0 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4 4 4 Major 64 %
Missing Assignation In Command All, Analyze 338 130 Minor 0 %
Missing Cases In Switch All, Analyze 2 1 Minor 36 %
Maybe Missing New All, Analyze 74 1 Critical 57 %
Mixed Concat And Interpolation All, Coding Conventions, Analyze 2 1 Minor 45 %
Modernize Empty With Expression All, Analyze, OneFile, Simple 32 17 Minor 63 %
Multiples Identical Case Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, Rector, CE 8 2 Minor 29 %
Multiple Type Variable All, Analyze, Level 4 32 14 Minor 58 %
Nested Ifthen Analyze, All, RadwellCodes 311 97 Major 84 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 4 4 Major 50 %
Don't Change Incomings Analyze, All 46 13 Minor 44 %
No Direct Usage Analyze, All, Simple 2 2 Major 39 %
No Hardcoded Hash Analyze, Security, All, Simple 5 4 Critical 45 %
No isset() With empty() All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4, CI-checks, CE 5 2 Minor 30 %
No Need For Else All, Analyze 51 27 Minor 74 %
No Null For Index All, Analyze 4 3 Minor 0 %
No Parenthesis For Language Construct Analyze, ClearPHP, All, RadwellCodes, Simple, Suggestions, Level 2, CI-checks, CE 159 80 Minor 62 %
Avoid Substr() One Analyze, Performances, All, CompatibilityPHP71, Simple, Level 2, Suggestions, Top10, CI-checks, CE 18 8 Minor 58 %
Variable Is Not A Condition All, Analyze 565 185 Minor 93 %
@ Operator Appinfo, ClearPHP, All, Analyze, Performances, CI-checks, CE 16 11 Minor 65 %
Objects Don't Need References Analyze, ClearPHP, OneFile, All, Simple, Level 2, Top10, CI-checks, CE 24 5 Minor 40 %
include_once() Usage Analyze, Appinfo, All, CE 74 42 Minor 73 %
Several Instructions On The Same Line Analyze, All 360 117 Major 56 %
Overwritten Foreach Var All, Analyze, OneFile 1 1 Major 0 %
Print And Die Analyze, All, Simple, CI-checks, CE 17 9 Minor 32 %
Printf Number Of Arguments All, Analyze, CI-checks, CE 1 1 Minor 41 %
Repeated print() Analyze, All, Simple, Suggestions, Level 3, Top10, CI-checks, CE 56 28 Major 50 %
Repeated Regex All, Analyze, Level 1, CI-checks, CE 107 40 Minor 47 %
Results May Be Missing Analyze, All, Simple, CI-checks, CE 4 4 Major 24 %
Return True False Analyze, All, Simple, Level 1, CI-checks, CE 30 18 Major 46 %
Same Conditions In Condition Analyze, All, Simple, CI-checks, CE 2 2 Critical 55 %
Should Chain Exception Analyze, All, Simple, CI-checks, CE 1 1 Minor 39 %
Should Use Ternary Operator All, Analyze, OneFile, Simple, CI-checks, CE 183 110 Minor 86 %
Preprocessable Analyze, All, Rector 372 102 Minor 85 %
Static Loop Analyze, All, Simple, Level 4 20 13 Minor 67 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE 9 8 Major 54 %
Switch To Switch Analyze, All, RadwellCodes, Simple 8 5 Minor 58 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks, CE 30 17 Major 69 %
Test Then Cast All, Analyze 2 2 Major 34 %
Timestamp Difference Analyze, All, Simple, Level 3, CI-checks, CE 17 7 Major 49 %
Unchecked Resources Analyze, ClearPHP, All, Simple, Level 2, CI-checks, CE 5 3 Major 50 %
Unconditional Break In Loop All, Analyze, Level 3, CI-checks, CE 4 2 Major 48 %
Unsupported Types With Operators All, Analyze, CompatibilityPHP80, CE 43 26 Minor 0 %
Unused Global Analyze, All, Simple, Unused 17 1 Minor 22 %
Use Constant Instead Of Function PHP recommendations, All, Analyze, php-cs-fixable, CI-checks, CE 24 14 Minor 61 %
Avoid get_class() Analyze, All, Simple, CI-checks, CE 4 4 Minor 32 %
Use Positive Condition All, Analyze, OneFile, Simple 68 44 Minor 82 %
Use Same Types For Comparisons All, Analyze 1 1 Minor 0 %
Useless Type Casting All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4, CI-checks, CE 3 3 Minor 47 %
Useless Check All, Analyze, OneFile, Simple, Level 1, CI-checks, CE 5 3 Minor 35 %
Useless Global Analyze, OneFile, All, Simple, Level 2 5 5 Minor 27 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE 6 6 Minor 63 %
Useless Parenthesis Analyze, All, Simple, CI-checks, CE 81 51 Minor 81 %
Useless Switch Analyze, All, Simple 4 4 Major 32 %
var_dump()... Usage Analyze, ClearPHP, Security, All, CI-checks, CE 4 4 Critical 42 %
Should Typecast Analyze, OneFile, All, Simple, CI-checks, Rector, CE 235 62 Minor 49 %
String May Hold A Variable Analyze, All, Simple 11 5 Minor 59 %
Missing Some Returntype All, Typehints, Analyze, CI-checks, CE 7 7 Minor 0 %
StandaloneType True False Null All, Appcontent, Analyze 1 1 Minor 0 %
Wrong Type With Default All, Analyze, LintButWontExec, ClassReview 16 14 Minor 0 %
Assigned Twice All, Analyze 324 51 Minor 79 %
Overwritten Literals Analyze, All 424 51 Major 79 %
Recycled Variables All, Analyze 21 8 Minor 0 %
Undefined Variable All, Analyze, CI-checks, Undefined, CE 1014 136 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 26 10 Minor 74 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4, CE 437 153 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple, Unused 124 40 Minor 87 %