PHP Static analysis for

Label Recipes Issues Files Severity Frequence
Null Or Boolean Arrays All, Analyze 58 9 Minor 0 %
String Initialization All, CompatibilityPHP71 20 7 Minor 33 %
Too Many Array Dimensions All, Analyze 2 2 Minor 0 %
Abstract Or Implements All, Analyze, LintButWontExec 2 2 Major 4 %
Ambiguous Visibilities All, Analyze 41 16 Minor 70 %
Anonymous Classes Appinfo, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All 7 5 Major 15 %
Avoid Optional Properties All, Analyze 39 14 Major 83 %
Constant Class Analyze, All, Simple 1 1 Minor 49 %
Could Be Abstract Class All, Analyze, ClassReview 2 2 Minor 65 %
Class Could Be Final All, Analyze, ClassReview 41 37 Minor 95 %
Method Could Be Static All, Analyze, ClassReview 91 20 Minor 95 %
Cyclic References All, Analyze, ClassReview 3 2 Minor 0 %
Don't Send $this In Constructor All, Analyze 1 1 Minor 39 %
Don't Unset Properties All, Analyze, Top10, php-cs-fixable 1 1 Major 40 %
Empty Classes Analyze, All, Simple 1 1 Minor 58 %
Class Should Be Final By Ocramius All, Analyze 1 1 Minor 42 %
Hidden Nullable All, Analyze, ClassReview 10 10 Minor 0 %
Locally Unused Property Dead code, All, Simple 90 5 Minor 76 %
Method Signature Must Be Compatible All, Analyze, LintButWontExec 3 3 Critical 50 %
No Public Access Analyze, All 1 1 Minor 60 %
Non Nullable Getters All, Analyze, ClassReview 5 5 Minor 0 %
Non Static Methods Called In A Static Analyze, CompatibilityPHP56, All, Simple, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55 4 3 Minor 20 %
Property Could Be Local All, Analyze, ClassReview 89 19 Minor 71 %
Never Used Properties Analyze, All, Simple 16 4 Minor 72 %
Property Used In One Method Only All, Analyze 57 12 Minor 84 %
Redefined Default Analyze, All, Simple 22 6 Major 26 %
Redefined Private Property All, Analyze 3 3 Major 18 %
Should Use Local Class Analyze, ClearPHP, All, Simple 44 12 Minor 94 %
Too Many Dereferencing All, Analyze 1 1 Minor 0 %
Wrong Access Style to Property All, Analyze, Level 2, ClassReview 8 2 Critical 3 %
Undefined Classes Analyze, All 193 24 Major 91 %
Undefined Class Constants Analyze, All 5 2 Major 53 %
Undefined Parent Analyze, All, Simple 3 3 Minor 63 %
Undefined ::class All, Analyze 1 1 Major 34 %
Unresolved Catch Dead code, ClearPHP, All 2 2 Major 51 %
Unresolved Classes Analyze, All 102 19 Major 86 %
Unresolved Instanceof Analyze, Dead code, ClearPHP, All, Simple, Top10 2 1 Major 48 %
Unused Class Constant All, Analyze, ClassReview 14 3 Minor 0 %
Unused Methods Dead code, All, Simple 87 24 Minor 95 %
Unused Private Methods Dead code, OneFile, All, Simple 17 2 Minor 45 %
Unused Private Properties Dead code, OneFile, All, Simple 29 3 Minor 37 %
Unused Protected Methods Dead code, All 4 3 Major 72 %
Use Instanceof Analyze, All, Simple 9 5 Major 63 %
Used Once Property All, Analyze 17 5 Minor 72 %
Weak Typing All, Analyze 1 1 Minor 41 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72 20 5 Minor 54 %
Undefined Caught Exceptions Dead code, All 2 2 None 50 %
Forgotten Thrown All, Analyze 20 8 Major 30 %
Rethrown Exceptions All, Dead code 1 1 Minor 18 %
Uncaught Exceptions Analyze, All 131 17 Minor 81 %
Unthrown Exception Analyze, Dead code, ClearPHP, All, Simple 1 1 Minor 43 %
Useless Catch All, Analyze 2 1 Minor 47 %
Use Named Boolean In Argument Definition All, Analyze 3 3 Minor 84 %
Callback Needs Return All, Analyze 1 1 Major 51 %
Could Make A Function All, Analyze, Suggestions 63 11 Minor 75 %
Empty Function Analyze, All, Simple 8 4 Minor 71 %
Generator Cannot Return All, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 40 13 Major 0 %
Hardcoded Passwords Analyze, OneFile, Security, All, Simple, Level 3 1 1 Major 61 %
Mismatched Default Arguments All, Analyze, Typechecks 9 4 Minor 33 %
Mismatched Typehint All, Analyze, Typechecks 9 5 Major 5 %
Must Return Methods Analyze, All, Simple, Level 2, LintButWontExec 69 19 Major 22 %
Never Used Parameter All, Analyze, Suggestions 33 17 Minor 47 %
No Boolean As Default All, Analyze 3 3 Minor 84 %
Only Variable Passed By Reference All, Analyze 2 2 Critical 40 %
Relay Function Analyze, All 10 6 Major 83 %
Too Many Local Variables All, Analyze 7 5 Minor 65 %
Typehint Must Be Returned All, Analyze, LintButWontExec 36 13 Major 10 %
Undefined Functions Analyze, All 52 10 Major 71 %
Unused Arguments Analyze, All, Simple 36 13 Major 89 %
Unused Functions Dead code, All, Simple 2 1 Minor 53 %
Unused Inherited Variable In Closure All, Analyze, Dead code 1 1 Major 22 %
Useless Return Analyze, OneFile, All, Simple, Level 4 1 1 Minor 29 %
Uses Default Values Analyze, All, Simple 252 24 Minor 97 %
Methods Without Return All, Analyze 155 28 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple 3 2 Major 38 %
Wrong Returned Type All, Analyze, ClassReview 38 15 Minor 0 %
Forgotten Interface All, Analyze 6 6 Minor 52 %
Interfaces Is Not Implemented All, Analyze, ClassReview 6 6 Minor 0 %
Undefined Interfaces Analyze, All 59 20 Major 67 %
Hidden Use Expression Analyze, OneFile, All, Simple 2 2 Minor 24 %
Multiple Alias Definitions Per File All, Analyze 2 1 Minor 8 %
Multiple Alias Definitions Analyze, All, Simple 2 2 Minor 42 %
Should Make Alias Analyze, OneFile, All, Simple 6 3 Minor 44 %
Unresolved Use Analyze, ClearPHP, All, Simple 106 29 Major 65 %
Unused Use Dead code, ClearPHP, All, Simple 19 6 Major 54 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10 5 5 Major 55 %
Logical To in_array All, Analyze, Level 2 6 4 Minor 66 %
Pre-increment Analyze, Performances, All, Simple, Level 4 53 9 Minor 74 %
strpos() Too Much All, Analyze 9 6 Minor 46 %
array_key_exists() Works On Arrays All, CompatibilityPHP74, Analyze 1 1 Minor 0 %
Use random_int() Analyze, Security, All, CompatibilityPHP71, Simple, Level 2 1 1 Major 59 %
Group Use Declaration All, Appinfo, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 1 1 Minor 3 %
Wrong Parameter Type Analyze, OneFile, All, Simple 5 2 Major 45 %
Possible Missing Subpattern All, Analyze, Top10 2 2 Minor 40 %
No Return For Generator All, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 33 13 Critical 12 %
PHP 7.0 Scalar Typehints All, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 208 28 Critical 31 %
Php7 Relaxed Keyword CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All, Appinfo 17 11 Major 25 %
PHP Keywords As Names Analyze, All, Simple 67 14 Major 89 %
Scalar Are Not Arrays All, Analyze, CompatibilityPHP74 1 1 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3 2 2 Major 71 %
Too Many Native Calls All, Analyze 7 3 Minor 47 %
Use Nullable Type All, Appinfo, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 12 11 Major 21 %
Always Anchor Regex All, Security 2 2 Major 65 %
Avoid Those Hash Functions Security, All 3 3 Major 60 %
Encoded Simple Letters All, Security 4 2 Minor 40 %
No Weak SSL Crypto All, Security 2 1 Minor 0 %
Assign And Compare All, Analyze 1 1 Minor 17 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4 2 2 Minor 92 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2 9 7 Minor 76 %
Buried Assignation Analyze, All 79 18 Minor 82 %
Catch Overwrite Variable Analyze, ClearPHP, All, Simple 4 1 Minor 23 %
Check All Types All, Analyze 12 8 Major 68 %
Check JSON All, Analyze 6 2 Major 64 %
Coalesce And Concat All, Analyze 1 1 Minor 0 %
Common Alternatives Analyze, All, Simple 12 4 Major 61 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple 4 3 Minor 60 %
Dont Change The Blind Var All, Analyze 38 16 Minor 72 %
Dont Mix ++ All, Analyze 13 8 Minor 43 %
Don't Read And Write In One Expression All, Analyze, CompatibilityPHP73, CompatibilityPHP74 3 2 Critical 38 %
Double Object Assignation All, Analyze, ClassReview 1 1 Minor 0 %
Drop Else After Return All, Analyze, OneFile, Simple, Suggestions, Level 4 7 5 Minor 70 %
Echo With Concat Performances, Analyze, All, Simple, Suggestions 9 1 Minor 58 %
Empty Blocks Analyze, All, Simple 4 3 Minor 57 %
Empty Instructions Dead code, Analyze, All, Simple 2 2 Minor 43 %
Empty Try Catch Analyze, All, Level 3 2 2 Minor 47 %
Eval() Usage Analyze, Appinfo, Performances, OneFile, ClearPHP, All, Simple, Security 1 1 Major 37 %
eval() Without Try Analyze, All, Simple, Level 3, Security 1 1 Critical 34 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All 3 3 Major 60 %
Htmlentities Calls Analyze, All, Simple 1 1 Major 39 %
Identical Consecutive Expression All, Analyze 1 1 Minor 58 %
If With Same Conditions Analyze, All, Simple 1 1 Major 44 %
Iffectations Analyze, All 55 15 Minor 80 %
Implode() Arguments Order All, Analyze 3 3 Minor 0 %
Inconsistent Elseif All, Analyze 24 12 Major 73 %
Infinite Recursion All, Analyze 1 1 Major 0 %
isset() With Constant CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All 5 4 Major 6 %
Lone Blocks Analyze, All, Simple, Level 4 3 1 Minor 14 %
Long Arguments All, Analyze 2 2 Minor 67 %
Max Level Of Nesting All, Analyze 9 6 Minor 0 %
Merge If Then All, Analyze 8 7 Minor 0 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4 3 3 Major 62 %
Missing New ? All, Analyze 60 18 Critical 5 %
Mixed Concat And Interpolation All, Coding Conventions, Analyze 1 1 Minor 43 %
Modernize Empty With Expression All, Analyze, OneFile, Simple 1 1 Minor 56 %
Multiple Type Variable All, Analyze, Level 4 3 3 Minor 43 %
Nested Ifthen Analyze, All, RadwellCodes 31 7 Major 87 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1 1 1 Major 20 %
No Hardcoded Ip Analyze, ClearPHP, Security, All, Simple 1 1 Minor 24 %
No Hardcoded Path Analyze, ClearPHP, All, Simple 1 1 Major 33 %
No Need For Else All, Analyze 16 8 Minor 74 %
Variable Is Not A Condition All, Analyze 78 15 Minor 57 %
@ Operator Appinfo, ClearPHP, All, Analyze, Performances 34 10 Minor 66 %
Several Instructions On The Same Line Analyze, All 3 1 Major 57 %
Repeated Regex All, Analyze, Level 1 5 2 Minor 47 %
Same Conditions In Condition Analyze, All, Simple 3 3 Critical 49 %
Should Make Ternary All, Analyze, OneFile, Simple 19 12 Minor 85 %
Preprocessable Analyze, All, Rector 545 24 Minor 86 %
Static Loop Analyze, All, Simple, Level 4 22 8 Minor 65 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10 4 3 Major 54 %
Switch To Switch Analyze, All, RadwellCodes, Simple 1 1 Minor 79 %
Switch Without Default Analyze, ClearPHP, All, Simple 10 8 Major 68 %
Test Then Cast All, Analyze 1 1 Major 32 %
Unconditional Break In Loop All, Analyze, Level 3 1 1 Major 46 %
Use Positive Condition All, Analyze, OneFile, Simple 9 4 Minor 81 %
Useless Brackets Analyze, All, RadwellCodes, Simple 3 1 Minor 14 %
Useless Casting All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4 2 2 Minor 37 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1 3 3 None 58 %
Useless Parenthesis Analyze, All, Simple 68 12 Minor 81 %
var_dump()... Usage Analyze, ClearPHP, Security, All 1 1 Critical 40 %
Undefined Trait Analyze, All, LintButWontExec 12 11 Critical 21 %
Should Typecast Analyze, OneFile, All, Simple 1 1 Minor 47 %
Assigned Twice All, Analyze 94 7 Minor 78 %
Overwritten Literals Analyze, All 142 8 Major 78 %
Strange Name For Variables All, Analyze 2 1 Minor 28 %
Undefined Variable All, Analyze 22 3 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 4 3 Minor 87 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4 114 22 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple 22 11 Minor 78 %