PHP Static analysis for public

Label Recipes Issues Files Severity Frequence
Append And Assign Arrays All, Internal, Analyze, ChangedBehavior 3 3 Minor 0 %
Null Or Boolean Arrays All, Analyze 26 3 Minor 0 %
Randomly Sorted Arrays All, Analyze, Level 4, Suggestions 1 1 Minor 19 %
Weak Type With Array All, Analyze, ChangedBehavior 338 19 Minor 0 %
Ambiguous Static All, Analyze, Semantics, ChangedBehavior 2 2 Minor 49 %
Ambiguous Visibilities All, Analyze, Semantics, ChangedBehavior 15 12 Minor 55 %
Avoid option arrays in constructors All, Analyze, ClassReview, ChangedBehavior 1 1 Minor 0 %
Avoid Optional Properties All, Analyze, ChangedBehavior 14 7 Major 60 %
Could Be Abstract Class All, Analyze, ClassReview, ChangedBehavior 6 6 Minor 38 %
Class Could Be Final All, Analyze, ClassReview, ChangedBehavior 32 32 Minor 95 %
Method Could Be Static All, Analyze, ClassReview, ChangedBehavior 16 9 Minor 88 %
Could Inject Parameter All, Analyze, ClassReview, ChangedBehavior 5 3 Minor 0 %
Don't Send $this In Constructor All, Analyze, ChangedBehavior 2 2 Minor 21 %
Implicit Nullable Type All, Analyze, ClassReview, ChangedBehavior 3 2 Minor 0 %
Inherited Property Type Must Match All, Analyze, LintButWontExec, ClassReview, ChangedBehavior 3 3 Minor 0 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2, ChangedBehavior 6 5 Minor 51 %
Make Global A Property Analyze, All, Simple, ChangedBehavior 8 8 Minor 13 %
Mismatch Properties Types All, Analyze, LintButWontExec, ClassReview, ChangedBehavior 12 7 Minor 0 %
Missing Default To Property All, Analyze 1 1 Minor 0 %
New Object Then Immediate Call All, Analyze, ClassReview 14 8 Minor 0 %
No Public Access Analyze, All, ChangedBehavior 5 4 Minor 37 %
Parent First All, Analyze, Suggestions, ChangedBehavior 1 1 Minor 36 %
Property Could Be Local All, Analyze, ClassReview, ChangedBehavior 4 3 Minor 62 %
Same Name For Property And Method All, Analyze, ClassReview, Semantics, ChangedBehavior 2 1 Minor 0 %
Never Used Properties Analyze, All, Simple, Unused, ChangedBehavior 10 6 Minor 44 %
Property Used In One Method Only All, Analyze, ChangedBehavior 45 20 Minor 73 %
Should Use Local Class Analyze, ClearPHP, All, Simple, ChangedBehavior 43 11 Minor 96 %
Undefined Classes Analyze, All, Stubs, Undefined 755 43 Major 97 %
Undefined Class Constants Analyze, All, CI-checks, Stubs, LintButWontExec, Undefined, ChangedBehavior, CE 25 14 Major 59 %
Undefined Properties Analyze, ClearPHP, All, Simple, CI-checks, CompatibilityPHP82, Undefined, ChangedBehavior, CE 63 14 Major 61 %
Unfinished Object All, Analyze, ClassReview, ChangedBehavior 43 14 Major 0 %
Unresolved Classes Analyze, All, Stubs, ChangedBehavior 13 11 Major 67 %
Unused Public Methods All, Analyze, ChangedBehavior 114 29 Minor 0 %
Use ::Class Operator All, Analyze, Performances, Simple, CI-checks, ChangedBehavior, CE 1 1 Minor 44 %
Use Instanceof Analyze, All, Simple, CI-checks, ChangedBehavior, CE 5 5 Major 35 %
Used Once Property All, Analyze, ChangedBehavior 11 8 Minor 43 %
Weak Typing All, Analyze, ChangedBehavior 1 1 Minor 50 %
Wrong Typed Property Default All, Analyze, LintButWontExec, ClassReview, CI-checks, CE 6 5 Minor 0 %
Use const Analyze, Coding Conventions, All, Top10, CI-checks, CE 18 6 Minor 24 %
Constant Used Only Once All, Analyze, ChangedBehavior 1 1 Minor 0 %
Multiple Constant Definition Analyze, All, Simple, CI-checks, ChangedBehavior, CE 4 3 Minor 16 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72, CI-checks, Stubs, Undefined, ChangedBehavior, CE 221 25 Minor 42 %
Converted Exceptions All, Analyze, ChangedBehavior 1 1 Minor 0 %
Throw Raw Exceptions All, Analyze, Suggestions, ChangedBehavior 27 12 Minor 0 %
Uncaught Exceptions Analyze, All, ChangedBehavior 27 12 Minor 73 %
Missing Include All, Analyze, ChangedBehavior 9 6 Critical 36 %
Native Alias Functions Usage Analyze, ClearPHP, OneFile, All, Simple, Level 1, CI-checks, ChangedBehavior, CE 1 1 Minor 22 %
Use Named Boolean In Argument Definition All, Analyze, ChangedBehavior 16 10 Minor 63 %
Could Make A Function All, Analyze, Suggestions, ChangedBehavior 76 18 Minor 37 %
Deep Definitions Analyze, Appinfo, All, Simple, ChangedBehavior, CE 4 3 Major 15 %
Don't Collect Void All, Analyze, ChangedBehavior 2 2 Minor 0 %
Empty Function Analyze, All, Simple, ChangedBehavior 12 11 Minor 67 %
Hardcoded Passwords Analyze, OneFile, Security, All, Simple, Level 3, ChangedBehavior 3 1 Major 49 %
Method Is Not An If All, Analyze 15 2 Minor 0 %
Mismatch Type And Default All, Analyze, LintButWontExec, Typechecks, ChangedBehavior 1 1 Critical 9 %
Mismatched Default Arguments All, Analyze, Typechecks, ChangedBehavior 1 1 Minor 38 %
Never Called Parameter All, Analyze, Suggestions, Rector, Unused 17 9 Minor 55 %
No Boolean As Default All, Analyze 15 8 Minor 61 %
No Default For Referenced Parameter All, Analyze, ChangedBehavior 5 2 Minor 0 %
No Return Used All, Analyze, Suggestions, Level 4, ChangedBehavior 4 3 Minor 50 %
Renamed Parameter All, Analyze, Readability 1 1 Minor 0 %
Too Many Local Variables All, Analyze 1 1 Minor 37 %
Class-typed References All, Analyze, CI-checks, CE 2 1 Minor 13 %
Unused Parameter Analyze, All, Simple, Unused 18 7 Major 83 %
Unused Returned Value All, Analyze, OneFile, Dead code, Simple, Unused 35 8 Minor 55 %
Useless Referenced Argument All, Analyze, ChangedBehavior 12 1 Minor 27 %
Uses Default Values Analyze, All, Simple, CI-checks, ChangedBehavior, CE 536 43 Minor 95 %
Using Deprecated Method All, Analyze, Attributes 25 4 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple, CI-checks, Stubs, ChangedBehavior, CE 4 4 Major 60 %
Wrong Type Returned All, Analyze, ClassReview, CI-checks, LintButWontExec, ChangedBehavior, CE 57 13 Minor 0 %
Undefined Interfaces Analyze, All, CI-checks, LintButWontExec, Undefined, ChangedBehavior, CE 3 3 Major 90 %
Should Make Alias Analyze, OneFile, All, Simple, CI-checks, ChangedBehavior, CE 5 4 Minor 35 %
Unresolved Use Analyze, ClearPHP, All, Simple, ChangedBehavior 114 49 Major 92 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10, CI-checks, ChangedBehavior, CE 5 3 Major 45 %
Logical To in_array() All, Analyze, Level 2, ChangedBehavior 2 2 Minor 39 %
Pre-increment Analyze, Performances, All, Simple, Level 4, CI-checks, ChangedBehavior, CE 18 7 Minor 45 %
array_key_exists() Works On Arrays All, CompatibilityPHP74, Analyze, ChangedBehavior, CE 7 5 Minor 0 %
Assumptions All, Analyze, ChangedBehavior 30 9 Minor 0 %
Use random_int() Analyze, Security, All, CompatibilityPHP71, Simple, Level 2, CI-checks, ChangedBehavior, CE 6 6 Major 31 %
Don't Pollute Global Space All, Analyze 25 11 Minor 0 %
Exit Without Argument All, Analyze, BadPractices, ChangedBehavior 6 5 Minor 0 %
False To Array Conversion All, LintButWontExec, CompatibilityPHP81, CompatibilityPHP82, Analyze, ChangedBehavior 39 3 Minor 0 %
Wrong Parameter Type Analyze, OneFile, All, Simple, CI-checks, ChangedBehavior, CE 7 4 Major 45 %
Use === null Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable, CI-checks, ChangedBehavior, CE 53 14 Minor 27 %
Logical Should Use Symbolic Operators Analyze, OneFile, ClearPHP, All, Simple, Suggestions, Level 2, Top10, php-cs-fixable, CI-checks, CE 1 1 Minor 18 %
No Array In Isset All, Analyze 196 19 Minor 0 %
Do Not Cast To Int All, PHP recommendations, Analyze, ChangedBehavior 10 5 Minor 0 %
No Class In Global All, Analyze, CI-checks, ChangedBehavior, CE 5 5 Minor 46 %
No Null For Native PHP Functions All, Analyze, CompatibilityPHP81, Deprecated, ChangedBehavior 11 8 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3, CI-checks, ChangedBehavior, CE 30 12 Major 47 %
Strtr Arguments All, Analyze, CI-checks, ChangedBehavior, CE 2 1 Major 2 %
Too Many Native Calls All, Analyze, ChangedBehavior 2 2 Minor 25 %
Wrong Type For Native PHP Function All, Analyze, CI-checks, ChangedBehavior, CE 8 6 Minor 0 %
Should Use Prepared Statement Analyze, Security, All, Simple, CI-checks, ChangedBehavior, CE 27 10 Major 10 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 4 3 Major 29 %
Comparison Is Always The Same All, Analyze, ChangedBehavior 1 1 Minor 0 %
Assign And Compare All, Analyze, CI-checks, CE 1 1 Minor 8 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4, ChangedBehavior 23 13 Minor 74 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2, CI-checks, ChangedBehavior, CE 26 16 Minor 51 %
Buried Assignation Analyze, All, ChangedBehavior 36 12 Minor 58 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1, ChangedBehavior 4 3 Minor 26 %
Casting Ternary All, Analyze, OneFile, CI-checks, ChangedBehavior, CE 1 1 Major 0 %
Check All Types All, Analyze, ChangedBehavior 11 7 Major 39 %
Check Division By Zero All, Analyze, ChangedBehavior 5 4 Minor 0 %
Check JSON All, Analyze, CI-checks, CE 26 12 Major 46 %
Common Alternatives Analyze, All, Simple, ChangedBehavior 3 2 Major 48 %
Concat Empty String All, Analyze, OneFile 1 1 Minor 0 %
Could Be Else All, Analyze, ChangedBehavior 1 1 Minor 23 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple, CI-checks, Rector, ChangedBehavior, CE 2 2 Minor 34 %
Dangling Array References PHP recommendations, Analyze, ClearPHP, All, Simple, Level 1, Top10, CI-checks, ChangedBehavior, CE 2 1 Major 26 %
Don't Change The Blind Var All, Analyze, ChangedBehavior 12 8 Minor 46 %
Don't Mix ++ All, Analyze, ChangedBehavior 2 2 Minor 30 %
Don't Reuse Foreach Source All, Analyze, ChangedBehavior 8 6 Minor 0 %
Drop Else After Return All, Analyze, OneFile, Simple, Suggestions, Level 4, CI-checks, ChangedBehavior, CE 3 3 Minor 38 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector, CI-checks, CE 1 1 Minor 35 %
Empty Blocks Analyze, All, Simple, CI-checks, ChangedBehavior, CE 2 2 Minor 25 %
Empty Json Error All, Analyze, ChangedBehavior 1 1 Minor 0 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All, CI-checks, ChangedBehavior, CE 13 8 Major 33 %
foreach() On Object All, Analyze 13 6 Minor 0 %
Global Usage Analyze, Appinfo, ClearPHP, All, ChangedBehavior, CE 9 8 Minor 26 %
Identical Case In Switch All, Analyze, ChangedBehavior 2 1 Minor 0 %
Iffectations Analyze, All, ChangedBehavior 21 10 Minor 53 %
Implied If Analyze, ClearPHP, All, Simple, CI-checks, Rector, ChangedBehavior, CE 7 4 Major 18 %
Indices Are Int Or String Analyze, OneFile, All, Simple, CI-checks, ChangedBehavior, CE 27 7 Major 58 %
Long Arguments All, Analyze, ChangedBehavior 1 1 Minor 51 %
Max Level Of Nesting All, Analyze, ChangedBehavior 15 7 Minor 0 %
Mbstring Unknown Encoding All, Analyze, CI-checks, ChangedBehavior, CE 9 1 Minor 0 %
Merge If Then All, Analyze, CI-checks, ChangedBehavior, CE 7 5 Minor 0 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4, ChangedBehavior 8 3 Major 31 %
Missing Assignation In Branches All, Analyze, ChangedBehavior 32 11 Minor 0 %
Mixed Concat And Interpolation All, Coding Conventions, Analyze 2 2 Minor 23 %
Modernize Empty With Expression All, Analyze, OneFile, Simple, ChangedBehavior 2 2 Minor 33 %
Multiple Type Variable All, Analyze, Level 4, ChangedBehavior 2 2 Minor 29 %
Nested Ifthen Analyze, All, RadwellCodes, ChangedBehavior 38 11 Major 59 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1, CI-checks, ChangedBehavior, CE 31 12 Major 27 %
Don't Change Incomings Analyze, All, ChangedBehavior 17 3 Minor 20 %
No Hardcoded Hash Analyze, Security, All, Simple, ChangedBehavior 1 1 Critical 37 %
No Hardcoded Ip Analyze, ClearPHP, Security, All, Simple, ChangedBehavior 3 1 Minor 18 %
No Hardcoded Path Analyze, ClearPHP, All, Simple, ChangedBehavior 1 1 Major 15 %
No isset() With empty() All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4, CI-checks, ChangedBehavior, CE 2 2 Minor 13 %
No Need For Else All, Analyze, ChangedBehavior 5 5 Minor 41 %
No Parenthesis For Language Construct Analyze, ClearPHP, All, RadwellCodes, Simple, Suggestions, Level 2, CI-checks, ChangedBehavior, CE 1 1 Minor 28 %
Avoid Substr() One Analyze, Performances, All, CompatibilityPHP71, Simple, Level 2, Suggestions, Top10, CI-checks, ChangedBehavior, CE 5 5 Minor 42 %
Variable Is Not A Condition All, Analyze, ChangedBehavior 47 18 Minor 75 %
include_once() Usage Analyze, Appinfo, All, ChangedBehavior, CE 20 17 Minor 48 %
Several Instructions On The Same Line Analyze, All, ChangedBehavior 1 1 Major 25 %
Should Chain Exception Analyze, All, Simple, CI-checks, ChangedBehavior, CE 1 1 Minor 22 %
Should Use Ternary Operator All, Analyze, OneFile, Simple, CI-checks, ChangedBehavior, CE 4 3 Minor 58 %
Preprocessable Analyze, All, Rector, ChangedBehavior 93 30 Minor 74 %
Static Inclusions All, Analyze, ChangedBehavior 27 20 Minor 0 %
Static Loop Analyze, All, Simple, Level 4, ChangedBehavior 2 2 Minor 38 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10, CI-checks, ChangedBehavior, CE 3 3 Major 25 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks, ChangedBehavior, CE 6 4 Major 39 %
Ternary In Concat Analyze, All, Simple, Level 3, CI-checks, ChangedBehavior, CE 2 1 Critical 4 %
Test Then Cast All, Analyze, ChangedBehavior 1 1 Major 16 %
Timestamp Difference Analyze, All, Simple, Level 3, CI-checks, ChangedBehavior, CE 1 1 Major 27 %
Unchecked Resources Analyze, ClearPHP, All, Simple, Level 2, CI-checks, ChangedBehavior, CE 1 1 Major 23 %
Unpreprocessed Values Analyze, OneFile, ClearPHP, All, Simple, Performances, ChangedBehavior 1 1 Minor 16 %
Use Positive Condition All, Analyze, OneFile, Simple, ChangedBehavior 2 1 Minor 56 %
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, ChangedBehavior, CE 6 4 Minor 35 %
Useless Check Before Foreach All, Analyze, OneFile, Simple, Level 1, CI-checks, CE 1 1 Minor 13 %
Useless Coalesce All, Analyze, ChangedBehavior 3 3 Minor 0 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, ChangedBehavior, CE 4 4 Minor 54 %
Useless Parenthesis Analyze, All, Simple, CI-checks, ChangedBehavior, CE 22 13 Minor 52 %
Useless Short Ternary All, Analyze, ChangedBehavior 1 1 Minor 0 %
Useless Switch Analyze, All, Simple, ChangedBehavior 3 3 Major 10 %
var_dump()... Usage Analyze, ClearPHP, Security, All, CI-checks, ChangedBehavior, CE 1 1 Critical 19 %
Already Parents Trait All, Analyze 16 16 Minor 0 %
Undefined Trait Analyze, All, LintButWontExec, CI-checks, Undefined, ChangedBehavior, CE 32 29 Critical 19 %
Should Typecast Analyze, OneFile, All, Simple, CI-checks, Rector, ChangedBehavior, CE 9 7 Minor 23 %
String May Hold A Variable Analyze, All, Simple, ChangedBehavior 6 4 Minor 38 %
Strings With Strange Space All, Analyze, CI-checks, ChangedBehavior, CE 16 2 Minor 10 %
Missing Some Returntype All, Typehints, Analyze, CI-checks, ChangedBehavior, CE 6 6 Minor 0 %
StandaloneType True False Null All, Appcontent, Analyze, ChangedBehavior 5 5 Minor 0 %
Wrong Type With Default All, Analyze, LintButWontExec, ClassReview, ChangedBehavior 3 2 Minor 0 %
Assigned Twice All, Analyze, ChangedBehavior 26 4 Minor 51 %
Overwritten Literals Analyze, All, ChangedBehavior 37 4 Major 51 %
Recycled Variables All, Analyze 13 1 Minor 0 %
Undefined Variable All, Analyze, CI-checks, Undefined, CE 79 16 Minor 37 %
Used Once Variables Analyze, OneFile, All, Simple, Top10, ChangedBehavior 3 2 Minor 54 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4, ChangedBehavior, CE 705 46 Minor 88 %
Written Only Variables Analyze, OneFile, All, Simple, Unused, ChangedBehavior 6 4 Minor 64 %