PHP Static analysis for dbal

Label Recipes Issues Files Severity Frequence
Null Or Boolean Arrays All, Analyze 7 3 Minor 0 %
String Initialization All, CompatibilityPHP71 15 5 Minor 33 %
Too Many Array Dimensions All, Analyze 1 1 Minor 0 %
Abstract Or Implements All, Analyze, LintButWontExec 4 4 Major 4 %
Ambiguous Static All, Analyze 72 29 Minor 64 %
Ambiguous Visibilities All, Analyze 66 34 Minor 70 %
Avoid option arrays in constructors All, Analyze, ClassReview 1 1 Minor 0 %
Avoid Optional Properties All, Analyze 52 17 Major 83 %
Cant Instantiate Class All, Analyze 5 2 Critical 28 %
Child Class Removes Typehint All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Typechecks 19 12 Major 1 %
Class, Interface Or Trait With Identical Names Analyze, All 44 44 Minor 16 %
Const Visibility Usage All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 183 27 Minor 16 %
Could Be Abstract Class All, Analyze, ClassReview 49 49 Minor 65 %
Class Could Be Final All, Analyze, ClassReview 141 141 Minor 95 %
Method Could Be Static All, Analyze, ClassReview 472 97 Minor 95 %
Cyclic References All, Analyze, ClassReview 2 1 Minor 0 %
Different Argument Counts All, Analyze, ClassReview 14 12 Minor 0 %
Don't Send $this In Constructor All, Analyze 1 1 Minor 39 %
Empty Classes Analyze, All, Simple 18 18 Minor 58 %
Class Should Be Final By Ocramius All, Analyze 9 9 Minor 42 %
Incompatible Signature Methods With Covariance All, Analyze 3 3 Critical 0 %
Locally Unused Property Dead code, All, Simple 7 3 Minor 76 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2 8 8 Minor 49 %
Method Signature Must Be Compatible All, Analyze, LintButWontExec 34 24 Critical 50 %
No Public Access Analyze, All 4 1 Minor 60 %
Non Nullable Getters All, Analyze, ClassReview 2 1 Minor 0 %
Parent First All, Analyze, Suggestions 3 3 Minor 55 %
Property Could Be Local All, Analyze, ClassReview 63 32 Minor 71 %
Never Used Properties Analyze, All, Simple 1 1 Minor 72 %
Property Used In One Method Only All, Analyze 10 9 Minor 84 %
Scalar Or Object Property All, Analyze 1 1 Minor 24 %
Should Use Local Class Analyze, ClearPHP, All, Simple 330 83 Minor 94 %
Static Methods Called From Object Analyze, All, Simple, CI-checks 3 1 Minor 38 %
Undefined Classes Analyze, All 313 82 Major 91 %
Undefined Class Constants Analyze, All, CI-checks 68 24 Major 53 %
Undefined Parent Analyze, All, Simple 12 2 Minor 63 %
Undefined ::class All, Analyze, CI-checks 8 7 Major 34 %
Unresolved Catch Dead code, ClearPHP, All 28 9 Major 51 %
Unresolved Classes Analyze, All 34 11 Major 86 %
Unresolved Instanceof Analyze, Dead code, ClearPHP, All, Simple, Top10 8 5 Major 48 %
Unused Classes Dead code, All, Simple, Analyze 3 3 Major 72 %
Unused Class Constant All, Analyze, ClassReview 52 6 Minor 0 %
Unused Methods Dead code, All, Simple 831 149 Minor 95 %
Unused Private Properties Dead code, OneFile, All, Simple 1 1 Minor 37 %
Unused Protected Methods Dead code, All 14 12 Major 72 %
Use Instanceof Analyze, All, Simple, CI-checks 10 6 Major 63 %
Used Once Property All, Analyze 5 5 Minor 72 %
Useless Constructor Analyze, All, Simple, Level 3 13 13 Minor 38 %
Weak Typing All, Analyze 2 2 Minor 41 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72, CI-checks 73 12 Minor 54 %
Can't Throw Throwable All, Analyze, LintButWontExec 2 2 Minor 13 %
Catch Undefined Variable All, Analyze 4 1 Minor 0 %
Undefined Caught Exceptions Dead code, All 21 10 None 50 %
Forgotten Thrown All, Analyze 140 37 Major 30 %
Overwritten Exceptions Analyze, All, Simple, Suggestions, Level 4, CI-checks 2 2 Minor 19 %
Uncaught Exceptions Analyze, All 72 25 Minor 81 %
Unthrown Exception Analyze, Dead code, ClearPHP, All, Simple 47 47 Minor 43 %
Useless Catch All, Analyze, CI-checks 3 3 Minor 47 %
Use Named Boolean In Argument Definition All, Analyze 35 21 Minor 84 %
Callback Needs Return All, Analyze, CI-checks 3 3 Major 51 %
Could Make A Function All, Analyze, Suggestions 119 30 Minor 75 %
Empty Function Analyze, All, Simple 38 20 Minor 71 %
Hardcoded Passwords Analyze, OneFile, Security, All, Simple, Level 3 5 5 Major 61 %
Insufficient Typehint All, Analyze, Typechecks 2 2 Major 24 %
Mismatch Parameter Name All, Analyze, CompatibilityPHP80 9 5 Minor 0 %
Mismatched Default Arguments All, Analyze, Typechecks 64 24 Minor 33 %
Mismatched Typehint All, Analyze, Typechecks 10 6 Major 5 %
Modified Typed Parameter All, Analyze, ClassReview 5 3 Minor 0 %
Must Return Methods Analyze, All, Simple, Level 2, LintButWontExec, CI-checks 12 4 Major 22 %
Never Used Parameter All, Analyze, Suggestions 140 64 Minor 47 %
No Boolean As Default All, Analyze 35 21 Minor 84 %
No Return Used All, Analyze, Suggestions, Level 4 24 17 Minor 41 %
Only Variable Passed By Reference All, Analyze 2 1 Critical 40 %
Relay Function Analyze, All 68 32 Major 83 %
Should Use Constants Analyze, All, Simple 1 1 Minor 24 %
Too Many Local Variables All, Analyze 5 5 Minor 65 %
Typehint Must Be Returned All, Analyze, LintButWontExec, CI-checks 12 4 Major 10 %
Undefined Functions Analyze, All, CI-checks 232 48 Major 71 %
Unused Arguments Analyze, All, Simple 50 10 Major 89 %
Useless Referenced Argument All, Analyze 8 8 Minor 57 %
Useless Type Check All, Dead code, OneFile 6 5 Minor 0 %
Uses Default Values Analyze, All, Simple, CI-checks 423 81 Minor 97 %
Using Deprecated Method All, Analyze 23 14 Minor 0 %
Methods Without Return All, Analyze 220 59 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple, CI-checks 36 24 Major 38 %
Wrong Returned Type All, Analyze, ClassReview, CI-checks 37 17 Minor 0 %
Wrong Type With Call All, Analyze, Typechecks, CI-checks 27 13 Minor 0 %
Cant Implement Traversable All, Analyze, LintButWontExec, CI-checks 1 1 Minor 0 %
Forgotten Interface All, Analyze 4 4 Minor 52 %
Empty Interfaces Analyze, All, Simple 4 4 Minor 38 %
Interfaces Is Not Implemented All, Analyze, ClassReview, LintButWontExec, CI-checks 70 70 Minor 0 %
Undefined Interfaces Analyze, All, CI-checks 55 35 Major 67 %
Unused Interfaces Dead code, All, Simple, Suggestions, Level 2 1 1 Minor 25 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks 3 3 Minor 57 %
Multiple Alias Definitions Analyze, All, Simple, CI-checks 172 100 Minor 42 %
Should Make Alias Analyze, OneFile, All, Simple, CI-checks 58 22 Minor 44 %
Unresolved Use Analyze, ClearPHP, All, Simple 929 160 Major 65 %
Unused Use Dead code, ClearPHP, All, Simple 896 149 Major 54 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10, CI-checks 19 11 Major 55 %
Logical To in_array All, Analyze, Level 2 17 12 Minor 66 %
Pre-increment Analyze, Performances, All, Simple, Level 4, CI-checks 25 8 Minor 74 %
strpos() Too Much All, Analyze, CI-checks 5 5 Minor 46 %
array_key_exists() Works On Arrays All, CompatibilityPHP74, Analyze 10 7 Minor 0 %
Assumptions All, Analyze 67 32 Minor 0 %
Don't Pollute Global Space All, Analyze 1 1 Minor 0 %
Wrong fopen() Mode Analyze, All, CI-checks 2 2 Major 16 %
List Short Syntax Internal, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All, Appinfo 27 11 Major 10 %
Possible Missing Subpattern All, Analyze, Top10, CI-checks 9 7 Minor 40 %
PHP 7.0 Scalar Typehints All, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 117 53 Critical 31 %
Php7 Relaxed Keyword CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All, Appinfo 87 38 Major 25 %
PHP Keywords As Names Analyze, All, Simple 300 45 Major 89 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3, CI-checks 6 6 Major 71 %
Use Nullable Type All, Appinfo, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 221 89 Major 21 %
Use PHP Object API Analyze, ClearPHP, All, Simple, CI-checks 2 1 Minor 23 %
Avoid Using stdClass All, Analyze, OneFile, Simple, Level 4 7 4 Minor 45 %
Usort Sorting In PHP 7.0 CompatibilityPHP70, All 1 1 Major 46 %
Wrong Type For Native PHP Function All, Analyze, CI-checks 79 31 Minor 0 %
Always Anchor Regex All, Security 14 10 Major 65 %
Avoid Those Hash Functions Security, All 3 3 Major 60 %
Direct Injection Security, All 1 1 Major 41 %
Should Use Prepared Statement Analyze, Security, All, Simple, CI-checks 3 3 Major 22 %
Unserialize Second Arg Security, All 2 2 Critical 49 %
Adding Zero Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks 18 8 Minor 33 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1, CI-checks 17 11 Major 52 %
Constant Comparison All, Analyze 20 8 Minor 0 %
Array_merge Needs Array Of Arrays All, Analyze 44 13 Minor 0 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2, CI-checks 10 9 Minor 76 %
Buried Assignation Analyze, All 28 9 Minor 82 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1 2 1 Minor 55 %
Casting Ternary All, Analyze, OneFile, CI-checks 2 1 Major 0 %
Check All Types All, Analyze 15 11 Major 68 %
Check JSON All, Analyze, CI-checks 2 2 Major 64 %
Common Alternatives Analyze, All, Simple 20 12 Major 61 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple, CI-checks 1 1 Minor 60 %
Dangling Array References PHP recommendations, Analyze, ClearPHP, All, Simple, Level 1, Top10, CI-checks 7 6 Major 40 %
Dont Change The Blind Var All, Analyze 37 19 Minor 72 %
Dont Mix ++ All, Analyze 1 1 Minor 43 %
Double Assignation Analyze, All 10 4 Major 55 %
Double Instructions Analyze, All, Simple 2 2 Minor 57 %
Echo With Concat Performances, Analyze, All, Simple, Suggestions 2 2 Minor 58 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector, CI-checks 2 1 Minor 65 %
Empty Blocks Analyze, All, Simple, CI-checks 1 1 Minor 57 %
Empty Try Catch Analyze, All, Level 3 1 1 Minor 47 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All, CI-checks 2 1 Major 60 %
Foreach Reference Is Not Modified Analyze, All, Simple, CI-checks 3 2 Minor 24 %
Global Usage Analyze, Appinfo, ClearPHP, All 1 1 Minor 52 %
Identical Consecutive Expression All, Analyze 2 1 Minor 58 %
If With Same Conditions Analyze, All, Simple, CI-checks 2 2 Major 44 %
Inconsistent Elseif All, Analyze 3 2 Major 73 %
Infinite Recursion All, Analyze 6 1 Major 0 %
isset() With Constant CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All 2 1 Major 6 %
Long Arguments All, Analyze 15 9 Minor 67 %
Merge If Then All, Analyze, CI-checks 12 10 Minor 0 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4 9 6 Major 62 %
Missing Cases In Switch All, Analyze 2 2 Minor 2 %
Missing New ? All, Analyze 54 44 Critical 5 %
Modernize Empty With Expression All, Analyze, OneFile, Simple 7 3 Minor 56 %
Nested Ifthen Analyze, All, RadwellCodes 5 4 Major 87 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1, CI-checks 8 8 Major 20 %
No Hardcoded Hash Analyze, Security, All, Simple 4 2 Critical 44 %
No isset() With empty() All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4, CI-checks 19 8 Minor 28 %
No Need For Triple Equal All, Analyze 1 1 Minor 0 %
Variable Is Not A Condition All, Analyze 217 64 Minor 57 %
@ Operator Appinfo, ClearPHP, All, Analyze, Performances, CI-checks 22 15 Minor 66 %
Repeated Regex All, Analyze, Level 1, CI-checks 4 4 Minor 47 %
Return True False Analyze, All, Simple, Level 1, CI-checks 1 1 Major 53 %
Should Make Ternary All, Analyze, OneFile, Simple, CI-checks 40 25 Minor 85 %
Preprocessable Analyze, All, Rector 42 23 Minor 86 %
Static Loop Analyze, All, Simple, Level 4 3 3 Minor 65 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10, CI-checks 1 1 Major 54 %
Suspicious Comparison All, Analyze, Level 3 8 8 Major 15 %
Switch To Switch Analyze, All, RadwellCodes, Simple 1 1 Minor 79 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks 21 16 Major 68 %
Test Then Cast All, Analyze 6 5 Major 32 %
Timestamp Difference Analyze, All, Simple, Level 3, CI-checks 1 1 Major 50 %
Unconditional Break In Loop All, Analyze, Level 3, CI-checks 2 2 Major 46 %
Unreachable Code Dead code, OneFile, ClearPHP, All, Simple, Suggestions, Level 3 9 6 Major 44 %
Unsupported Types With Operators All, Analyze, CompatibilityPHP80 12 3 Minor 0 %
Avoid get_class() Analyze, All, Simple, CI-checks 1 1 Minor 32 %
Use Positive Condition All, Analyze, OneFile, Simple 28 19 Minor 81 %
Useless Casting All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4, CI-checks 6 5 Minor 37 %
Useless Check All, Analyze, OneFile, Simple, Level 1, CI-checks 1 1 Minor 48 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks 46 21 Minor 58 %
Useless Parenthesis Analyze, All, Simple, CI-checks 19 9 Minor 81 %
var_dump()... Usage Analyze, ClearPHP, Security, All, CI-checks 3 2 Critical 40 %
String May Hold A Variable Analyze, All, Simple 13 7 Minor 58 %
Missing Returntype In Method All, Typehints, Analyze, CI-checks 14 8 Minor 0 %
Assigned Twice All, Analyze 98 22 Minor 78 %
Lost References Analyze, All, Simple 1 1 Major 14 %
Overwritten Literals Analyze, All 113 22 Major 78 %
Strange Name For Variables All, Analyze 2 1 Minor 28 %
Undefined Constant Name All, Analyze 1 1 Minor 0 %
Undefined Variable All, Analyze, CI-checks 5 2 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 5 4 Minor 87 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4 286 67 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple 31 14 Minor 78 %