PHP Static analysis for public

Label Recipes Issues Files Severity Frequence
Ambiguous Array Index Analyze, All, Simple, Level 2, Semantics, ChangedBehavior 7 3 Minor 10 %
Append And Assign Arrays All, Internal, Analyze, ChangedBehavior 3 3 Minor 0 %
Weak Type With Array All, Analyze, ChangedBehavior 76 41 Minor 0 %
Abstract Or Implements All, Analyze, LintButWontExec, ChangedBehavior 117 114 Major 24 %
Accessing Private Analyze, All, Simple, ChangedBehavior 55 14 Major 17 %
Access Protected Structures Analyze, All, Simple, ChangedBehavior 2 2 Major 17 %
Ambiguous Static All, Analyze, Semantics, ChangedBehavior 246 98 Minor 66 %
Ambiguous Visibilities All, Analyze, Semantics, ChangedBehavior 85 58 Minor 70 %
Avoid Optional Properties All, Analyze, ChangedBehavior 46 31 Major 84 %
Can't Instantiate Class All, Analyze, ChangedBehavior 1 1 Critical 30 %
Cant Instantiate Non Class All, Analyze, ClassReview 8 5 Minor 0 %
Class, Interface, Enum Or Trait With Identical Names Analyze, All, ChangedBehavior 21 21 Minor 19 %
Could Be Abstract Class All, Analyze, ClassReview, ChangedBehavior 3 3 Minor 65 %
Class Could Be Final All, Analyze, ClassReview, ChangedBehavior 300 300 Minor 96 %
Method Could Be Static All, Analyze, ClassReview, ChangedBehavior 130 82 Minor 92 %
Could Inject Parameter All, Analyze, ClassReview, ChangedBehavior 155 70 Minor 0 %
Dependant Abstract Classes All, Analyze, ClassReview, ChangedBehavior 4 4 Minor 0 %
No Direct Call To Magic Method Analyze, All, Level 2, CI-checks, CE 1 1 Major 43 %
Don't Send $this In Constructor All, Analyze, ChangedBehavior 3 3 Minor 41 %
Don't Unset Properties All, Analyze, Top10, php-cs-fixable, CI-checks, ChangedBehavior, CE 4 3 Major 42 %
Implicit Nullable Type All, Analyze, ClassReview, ChangedBehavior 33 21 Minor 0 %
Incompatible Signature Methods With Covariance All, Analyze, ChangedBehavior 14 14 Critical 0 %
Instantiating Abstract Class Analyze, All, Simple 5 5 Major 13 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2, ChangedBehavior 7 6 Minor 71 %
Make Global A Property Analyze, All, Simple, ChangedBehavior 4 4 Minor 37 %
Method Signature Must Be Compatible All, Analyze, LintButWontExec, ChangedBehavior 53 51 Critical 53 %
Mismatch Properties Types All, Analyze, LintButWontExec, ClassReview, ChangedBehavior 6 5 Minor 0 %
Missing Abstract Method All, Analyze, ClassReview 4 2 Minor 0 %
New Object Then Immediate Call All, Analyze, ClassReview 1 1 Minor 0 %
No Null With Null Safe Operator All, Analyze, ClassReview, ChangedBehavior 2 2 Minor 0 %
self, parent, static Outside Class All, Analyze, LintButWontExec, ChangedBehavior 336 2 Major 8 %
No Public Access Analyze, All, ChangedBehavior 99 65 Minor 61 %
No Readonly Assignation In Global All, Analyze, ClassReview, ChangedBehavior 58 20 Minor 0 %
Non Nullable Getters All, Analyze, ClassReview, ChangedBehavior 8 8 Minor 0 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 16 6 Minor 42 %
Parent First All, Analyze, Suggestions, ChangedBehavior 8 8 Minor 56 %
Property Could Be Local All, Analyze, ClassReview, ChangedBehavior 78 58 Minor 76 %
Same Name For Property And Method All, Analyze, ClassReview, Semantics, ChangedBehavior 23 7 Minor 0 %
Never Used Properties Analyze, All, Simple, Unused, ChangedBehavior 21 16 Minor 71 %
Property Used In One Method Only All, Analyze, ChangedBehavior 172 121 Minor 84 %
Parent, Static Or Self Outside Class Analyze, All, Simple, ChangedBehavior 331 1 Major 21 %
Scalar Or Object Property All, Analyze 1 1 Minor 32 %
Could Use self Analyze, All, Simple, Suggestions, Level 3, ClassReview, ChangedBehavior 8 7 Minor 63 %
Should Use Local Class Analyze, ClearPHP, All, Simple, ChangedBehavior 338 162 Minor 95 %
Swapped Arguments All, Analyze, ChangedBehavior 3 3 Critical 0 %
$this Belongs To Classes Or Traits Analyze, All, Simple, LintButWontExec, ChangedBehavior 331 1 Major 32 %
Too Many Dereferencing All, Analyze, ChangedBehavior 5 3 Minor 0 %
Wrong Access Style to Property All, Analyze, Level 2, ClassReview, CI-checks, CE 31 12 Critical 37 %
Undefined Classes Analyze, All, Stubs, Undefined 546 153 Major 91 %
Undefined Class Constants Analyze, All, CI-checks, Stubs, LintButWontExec, Undefined, ChangedBehavior, CE 1394 300 Major 62 %
Undefined Properties Analyze, ClearPHP, All, Simple, CI-checks, CompatibilityPHP82, Undefined, ChangedBehavior, CE 129 48 Major 61 %
Undefined static:: Or self:: Analyze, All, Simple, Undefined, ChangedBehavior 85 36 Minor 35 %
Undefined static ::class All, Analyze, CI-checks, Undefined, ChangedBehavior, CE 12 7 Major 36 %
Unfinished Object All, Analyze, ClassReview, ChangedBehavior 208 134 Major 0 %
Unreachable Method All, Analyze, Dead code, ClassReview, Unused, ChangedBehavior 10 2 Minor 0 %
Unresolved Classes Analyze, All, Stubs, ChangedBehavior 59 31 Major 76 %
Unresolved Instanceof Analyze, Dead code, ClearPHP, All, Simple, Top10, ChangedBehavior 36 28 Major 48 %
Unused Classes Dead code, All, Simple, Analyze, Unused, ChangedBehavior 8 6 Major 67 %
Unused Class Constant All, Analyze, ClassReview, Unused, ChangedBehavior 42 21 Minor 0 %
Unused Public Methods All, Analyze, ChangedBehavior 881 276 Minor 0 %
Use Instanceof Analyze, All, Simple, CI-checks, ChangedBehavior, CE 3 2 Major 63 %
Used Once Property All, Analyze, ChangedBehavior 29 20 Minor 74 %
Useless Abstract Class Analyze, All, Simple, ChangedBehavior 15 15 Minor 33 %
Useless Constructor Analyze, All, Simple, Level 3, ChangedBehavior 3 3 Minor 41 %
Useless Method All, Analyze, ChangedBehavior 12 8 Minor 0 %
Illegal Name For Method All, Analyze, OneFile, Simple 3 1 Major 20 %
Wrong Typed Property Default All, Analyze, LintButWontExec, ClassReview, CI-checks, CE 39 32 Minor 0 %
Use const Analyze, Coding Conventions, All, Top10, CI-checks, CE 5 2 Minor 54 %
Constant Used Only Once All, Analyze, ChangedBehavior 113 55 Minor 0 %
Multiple Constant Definition Analyze, All, Simple, CI-checks, ChangedBehavior, CE 12 12 Minor 41 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72, CI-checks, Stubs, Undefined, ChangedBehavior, CE 4 4 Minor 71 %
Undefined Enumcase All, Analyze, ClassReview, Undefined, ChangedBehavior 1 1 Minor 0 %
Unused Enumeration Case All, Analyze, Dead code, Unused, ChangedBehavior 3170 1 Minor 0 %
Catch With Undefined Variable All, Analyze, Undefined, ChangedBehavior 3 3 Minor 0 %
Converted Exceptions All, Analyze, ChangedBehavior 12 10 Minor 0 %
Uncaught Exceptions Analyze, All, ChangedBehavior 102 58 Minor 84 %
Unthrown Exception Analyze, Dead code, ClearPHP, All, Simple, ChangedBehavior 5 5 Minor 45 %
Useless Try All, Analyze, ChangedBehavior 38 21 Minor 0 %
Missing Include All, Analyze, ChangedBehavior 2 1 Critical 65 %
Native Alias Functions Usage Analyze, ClearPHP, OneFile, All, Simple, Level 1, CI-checks, ChangedBehavior, CE 3 3 Minor 20 %
Use Named Boolean In Argument Definition All, Analyze, ChangedBehavior 106 66 Minor 84 %
Can't Call Generator All, Analyze 3 3 Minor 0 %
Deep Definitions Analyze, Appinfo, All, Simple, ChangedBehavior, CE 3 3 Major 13 %
Don't Collect Void All, Analyze, ChangedBehavior 11 8 Minor 0 %
Empty Function Analyze, All, Simple, ChangedBehavior 36 14 Minor 74 %
Insufficient Type All, Analyze, Typechecks, ChangedBehavior 15 13 Major 43 %
Method Is Not An If All, Analyze 37 28 Minor 0 %
Mismatch Type And Default All, Analyze, LintButWontExec, Typechecks, ChangedBehavior 28 18 Critical 8 %
Mismatched Default Arguments All, Analyze, Typechecks, ChangedBehavior 17 11 Minor 80 %
Mismatched Type All, Analyze, Typechecks, ChangedBehavior 525 113 Major 66 %
Modified Typed Parameter All, Analyze, ClassReview, ChangedBehavior 19 13 Minor 0 %
Must Return Methods Analyze, All, Simple, Level 2, LintButWontExec, CI-checks, ChangedBehavior, CE 1 1 Major 34 %
Never Called Parameter All, Analyze, Suggestions, Rector, Unused 34 24 Minor 92 %
No Boolean As Default All, Analyze 69 43 Minor 84 %
No Return Used All, Analyze, Suggestions, Level 4, ChangedBehavior 26 21 Minor 69 %
Only Variable Passed By Reference All, Analyze, ChangedBehavior 909 242 Critical 43 %
Type Must Be Returned All, Analyze, LintButWontExec, CI-checks, ChangedBehavior, CE 5 3 Major 22 %
Undefined Functions Analyze, All, CI-checks, Stubs, Undefined, CE 162 74 Major 68 %
Unknown Parameter Name All, Analyze, CI-checks, ChangedBehavior, CE 4 2 Minor 0 %
Unused Parameter Analyze, All, Simple, Unused 20 14 Major 90 %
Unused Returned Value All, Analyze, OneFile, Dead code, Simple, Unused 101 45 Minor 41 %
Useless Argument All, Analyze, ChangedBehavior 1 1 Minor 0 %
Uses Default Values Analyze, All, Simple, CI-checks, ChangedBehavior, CE 634 181 Minor 98 %
Methods Without Return All, Analyze 4 4 Minor 95 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple, CI-checks, Stubs, ChangedBehavior, CE 6 5 Major 81 %
Wrong Type Returned All, Analyze, ClassReview, CI-checks, LintButWontExec, ChangedBehavior, CE 866 296 Minor 0 %
Wrong Type With Call All, Analyze, Typechecks, CI-checks, ChangedBehavior, CE 552 142 Minor 0 %
Already Parents Interface Analyze, All, Level 3, Suggestions, ChangedBehavior 1 1 Minor 26 %
Forgotten Interface All, Analyze, ChangedBehavior 4 4 Minor 48 %
Empty Interfaces Analyze, All, Simple, ChangedBehavior 5 5 Minor 41 %
Interfaces Is Not Implemented All, Analyze, ClassReview, LintButWontExec, CI-checks, ChangedBehavior, CE 10 10 Minor 0 %
Interfaces Don't Ensure Properties All, Analyze, ClassReview, ChangedBehavior 1 1 Minor 0 %
Repeated Interface All, Analyze, LintButWontExec, ChangedBehavior 1 1 Minor 0 %
Undefined Interfaces Analyze, All, CI-checks, LintButWontExec, Undefined, ChangedBehavior, CE 592 173 Major 72 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks, ChangedBehavior 3 3 Minor 59 %
Hidden Use Expression Analyze, OneFile, All, Simple, CI-checks, ChangedBehavior, CE 82 30 Minor 23 %
Multiple Alias Definitions Analyze, All, Simple, CI-checks, ChangedBehavior, CE 477 274 Minor 44 %
Unresolved Use Analyze, ClearPHP, All, Simple, ChangedBehavior 897 401 Major 69 %
Memoize MagicCall All, Analyze, ClassReview, ChangedBehavior 3 3 Minor 0 %
Pre-increment Analyze, Performances, All, Simple, Level 4, CI-checks, ChangedBehavior, CE 11 9 Minor 74 %
Assumptions All, Analyze, ChangedBehavior 13 11 Minor 0 %
Don't Pollute Global Space All, Analyze 43 3 Minor 0 %
Exit Without Argument All, Analyze, ChangedBehavior 5 4 Minor 0 %
Incompilable Files Analyze, Appinfo, ClearPHP, All, Simple, CE 3 3 Critical 24 %
Wrong Parameter Type Analyze, OneFile, All, Simple, CI-checks, ChangedBehavior, CE 14 5 Major 76 %
Use === null Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable, CI-checks, ChangedBehavior, CE 12 10 Minor 53 %
Possible Missing Subpattern All, Analyze, Top10, CI-checks, ChangedBehavior, CE 1 1 Minor 45 %
No Class In Global All, Analyze, CI-checks, ChangedBehavior, CE 4 1 Minor 77 %
No Null For Native PHP Functions All, Analyze, CompatibilityPHP81, Deprecated, ChangedBehavior 20 8 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3, CI-checks, ChangedBehavior, CE 2 2 Major 71 %
Too Many Native Calls All, Analyze, ChangedBehavior 2 1 Minor 49 %
Avoid Using stdClass All, Analyze, OneFile, Simple, Level 4 1 1 Minor 46 %
Wrong Type For Native PHP Function All, Analyze, CI-checks, ChangedBehavior, CE 53 28 Minor 0 %
Comparison Is Always The Same All, Analyze, ChangedBehavior 3 3 Minor 0 %
Assign And Compare All, Analyze, CI-checks, CE 1 1 Minor 18 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4, ChangedBehavior 17 16 Minor 64 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2, CI-checks, ChangedBehavior, CE 5 4 Minor 77 %
Buried Assignation Analyze, All, ChangedBehavior 195 108 Minor 84 %
Check JSON All, Analyze, CI-checks, CE 5 4 Major 65 %
Could Be A Static Variable Analyze, OneFile, All, ClassReview, ChangedBehavior 3 3 Major 23 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple, CI-checks, Rector, ChangedBehavior, CE 8 6 Minor 63 %
Dangling Array References PHP recommendations, Analyze, ClearPHP, All, Simple, Level 1, Top10, CI-checks, ChangedBehavior, CE 4 4 Major 46 %
Default Then Discard All, Analyze, Readability, ChangedBehavior 1 1 Minor 0 %
Don't Change The Blind Var All, Analyze, ChangedBehavior 8 7 Minor 73 %
Don't Read And Write In One Expression All, Analyze, CompatibilityPHP73, CompatibilityPHP74, ChangedBehavior, CE 4 4 Critical 38 %
Double Checks All, Analyze, ChangedBehavior 7 5 Minor 0 %
Empty Json Error All, Analyze, ChangedBehavior 1 1 Minor 0 %
Empty Try Catch Analyze, All, Level 3 2 2 Minor 49 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All, CI-checks, ChangedBehavior, CE 5 4 Major 61 %
Global Usage Analyze, Appinfo, ClearPHP, All, ChangedBehavior, CE 3 3 Minor 52 %
Identical Variables In Foreach All, Analyze, OneFile, ChangedBehavior 10 7 Minor 0 %
Iffectations Analyze, All, ChangedBehavior 66 38 Minor 80 %
Implode() Arguments Order All, Analyze, CI-checks, ChangedBehavior, CE 2 1 Minor 0 %
Indices Are Int Or String Analyze, OneFile, All, Simple, CI-checks, ChangedBehavior, CE 9 4 Major 20 %
Infinite Recursion All, Analyze, ChangedBehavior 1 1 Major 0 %
Invalid Regex All, Analyze, CI-checks, ChangedBehavior, CE 1 1 Major 37 %
Logical Mistakes Analyze, All, Simple, Level 1, CI-checks, ChangedBehavior, CE 1 1 Critical 32 %
Long Arguments All, Analyze, ChangedBehavior 29 25 Minor 68 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4, ChangedBehavior 8 8 Major 64 %
Mixed Concat And Interpolation All, Coding Conventions, Analyze 9 8 Minor 45 %
Modernize Empty With Expression All, Analyze, OneFile, Simple, ChangedBehavior 16 6 Minor 63 %
Multiple Type Variable All, Analyze, Level 4, ChangedBehavior 2 2 Minor 58 %
Don't Change Incomings Analyze, All, ChangedBehavior 1 1 Minor 44 %
No Choice Analyze, All, Simple, Level 2, Top10, CI-checks, Rector, ChangedBehavior, CE 55 29 Major 42 %
No Empty Regex All, Analyze, CI-checks, CE 1 1 Critical 22 %
No Hardcoded Hash Analyze, Security, All, Simple, ChangedBehavior 1 1 Critical 45 %
No Need For Triple Equal All, Analyze, ChangedBehavior 13 8 Minor 0 %
No Null For Index All, Analyze, ChangedBehavior 10 3 Minor 0 %
No Parenthesis For Language Construct Analyze, ClearPHP, All, RadwellCodes, Simple, Suggestions, Level 2, CI-checks, ChangedBehavior, CE 2 2 Minor 62 %
No A Valid Cast All, Analyze, ChangedBehavior 1 1 Minor 0 %
Variable Is Not A Condition All, Analyze, ChangedBehavior 41 34 Minor 93 %
Non Integer Nor String As Index All, Analyze, ChangedBehavior 6 4 Minor 0 %
@ Operator Appinfo, ClearPHP, All, Analyze, Performances, CI-checks, ChangedBehavior, CE 3 1 Minor 65 %
Objects Don't Need References Analyze, ClearPHP, OneFile, All, Simple, Level 2, Top10, CI-checks, ChangedBehavior, CE 2 2 Minor 40 %
include_once() Usage Analyze, Appinfo, All, ChangedBehavior, CE 6 4 Minor 73 %
Should Chain Exception Analyze, All, Simple, CI-checks, ChangedBehavior, CE 5 3 Minor 39 %
Preprocessable Analyze, All, Rector, ChangedBehavior 386 35 Minor 85 %
Static Inclusions All, Analyze, ChangedBehavior 6 5 Minor 0 %
Static Loop Analyze, All, Simple, Level 4, ChangedBehavior 5 5 Minor 67 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10, CI-checks, ChangedBehavior, CE 1 1 Major 54 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks, ChangedBehavior, CE 5 4 Major 69 %
Timestamp Difference Analyze, All, Simple, Level 3, CI-checks, ChangedBehavior, CE 2 1 Major 49 %
Unpreprocessed Values Analyze, OneFile, ClearPHP, All, Simple, Performances, ChangedBehavior 2 2 Minor 30 %
Use Constant Instead Of Function PHP recommendations, All, Analyze, php-cs-fixable, CI-checks, ChangedBehavior, CE 1 1 Minor 61 %
Useless Type Casting All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4, CI-checks, ChangedBehavior, CE 3 3 Minor 47 %
Useless Coalesce All, Analyze, ChangedBehavior 1 1 Minor 0 %
Useless Global Analyze, OneFile, All, Simple, Level 2, ChangedBehavior 3 3 Minor 27 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, ChangedBehavior, CE 60 33 Minor 63 %
Useless Null Coalesce All, Analyze, Typehints, ChangedBehavior 44 28 Minor 0 %
Useless Parenthesis Analyze, All, Simple, CI-checks, ChangedBehavior, CE 15 12 Minor 81 %
Already Parents Trait All, Analyze 2 2 Minor 0 %
Cannot Call Static Trait Method Directly All, Analyze, CompatibilityPHP81, CompatibilityPHP82, ChangedBehavior 45 12 Minor 0 %
Dependant Trait Analyze, All, Level 3, ChangedBehavior 168 168 Minor 28 %
Empty Traits Analyze, All, Simple, Dead code, ChangedBehavior 11 11 Minor 12 %
Method Collision Traits All, Analyze, LintButWontExec, ChangedBehavior 3 3 Critical 5 %
Trait Is Not A Type All, Analyze, ClassReview, Typehints 5 1 Minor 0 %
One Variable String Analyze, All, RadwellCodes, Simple, CI-checks, ChangedBehavior, CE 4 4 Minor 33 %
Missing Some Returntype All, Typehints, Analyze, CI-checks, ChangedBehavior, CE 512 214 Minor 0 %
StandaloneType True False Null All, Appcontent, Analyze, ChangedBehavior 441 242 Minor 0 %
Wrong Type With Default All, Analyze, LintButWontExec, ClassReview, ChangedBehavior 201 98 Minor 0 %
Assigned Twice All, Analyze, ChangedBehavior 7 4 Minor 79 %
Overwritten Literals Analyze, All, ChangedBehavior 9 4 Major 79 %
Recycled Variables All, Analyze 2 1 Minor 0 %
Undefined Variable All, Analyze, CI-checks, Undefined, CE 15 5 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10, ChangedBehavior 2 2 Minor 74 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4, ChangedBehavior, CE 832 242 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple, Unused, ChangedBehavior 10 4 Minor 87 %