PHP Static analysis for exakat

Label Recipes Issues Files Severity Frequence
Multiple Index Definition Analyze, OneFile, All, Simple 1 1 Minor 25 %
Randomly Sorted Arrays All, Analyze, Level 4, Suggestions 200 127 Minor 41 %
String Initialization All, CompatibilityPHP71 110 30 Minor 33 %
Too Many Array Dimensions All, Analyze 47 9 Minor 0 %
Abstract Or Implements All, Analyze, LintButWontExec 18 18 Major 4 %
Ambiguous Visibilities All, Analyze 213 115 Minor 70 %
Avoid option arrays in constructors All, Analyze, ClassReview 2 2 Minor 0 %
Avoid Optional Properties All, Analyze 82 28 Major 83 %
Child Class Removes Typehint All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Typechecks 1 1 Major 1 %
Const Visibility Usage All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 53 14 Minor 16 %
Constant Class Analyze, All, Simple 10 10 Minor 49 %
Could Be Abstract Class All, Analyze, ClassReview 38 38 Minor 65 %
Class Could Be Final All, Analyze, ClassReview 1793 1792 Minor 95 %
Method Could Be Static All, Analyze, ClassReview 289 177 Minor 95 %
Don't Unset Properties All, Analyze, Top10, php-cs-fixable 1 1 Major 40 %
Empty Classes Analyze, All, Simple 1 1 Minor 58 %
Hidden Nullable All, Analyze, ClassReview 43 34 Minor 0 %
Incompatible Signature Methods With Covariance All, Analyze 1 1 Critical 0 %
Locally Unused Property Dead code, All, Simple 247 198 Minor 76 %
Make Global A Property Analyze, All, Simple 1 1 Minor 33 %
Method Signature Must Be Compatible All, Analyze, LintButWontExec 8 7 Critical 50 %
No Public Access Analyze, All 29 13 Minor 60 %
Non Nullable Getters All, Analyze, ClassReview 21 15 Minor 0 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1 1 1 Minor 42 %
Non Static Methods Called In A Static Analyze, CompatibilityPHP56, All, Simple, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55 33 25 Minor 20 %
Parent First All, Analyze, Suggestions 3 3 Minor 55 %
Property Could Be Local All, Analyze, ClassReview 85 39 Minor 71 %
Never Used Properties Analyze, All, Simple 29 16 Minor 72 %
Property Used In One Method Only All, Analyze 107 54 Minor 84 %
Redefined Class Constants Analyze, All, Simple 82 12 Minor 15 %
Redefined Default Analyze, All, Simple 56 28 Major 26 %
Redefined Private Property All, Analyze 5 5 Major 18 %
Scalar Or Object Property All, Analyze 2 2 Minor 24 %
Could Use self Analyze, All, Simple, Suggestions, Level 3, ClassReview 8 4 Minor 57 %
Should Use Local Class Analyze, ClearPHP, All, Simple 157 60 Minor 94 %
$this Belongs To Classes Or Traits Analyze, All, Simple 1 1 Major 23 %
Too Many Dereferencing All, Analyze 900 426 Minor 0 %
Wrong Access Style to Property All, Analyze, Level 2, ClassReview 230 92 Critical 3 %
Undefined Classes Analyze, All 40 20 Major 91 %
Undefined Class Constants Analyze, All 14 4 Major 53 %
Undefined Properties Analyze, ClearPHP, All, Simple 21 1 Major 58 %
Unresolved Catch Dead code, ClearPHP, All 1 1 Major 51 %
Unresolved Classes Analyze, All 21 10 Major 86 %
Unresolved Instanceof Analyze, Dead code, ClearPHP, All, Simple, Top10 1 1 Major 48 %
Unused Classes Dead code, All, Simple, Analyze 79 79 Major 72 %
Unused Class Constant All, Analyze, ClassReview 1584 80 Minor 0 %
Unused Methods Dead code, All, Simple 2239 1690 Minor 95 %
Unused Private Methods Dead code, OneFile, All, Simple 24 19 Minor 45 %
Unused Private Properties Dead code, OneFile, All, Simple 11 4 Minor 37 %
Unused Protected Methods Dead code, All 26 7 Major 72 %
Use Class Operator All, Analyze, Performances, Simple 6 5 Minor 74 %
Used Once Property All, Analyze 92 54 Minor 72 %
Useless Constructor Analyze, All, Simple, Level 3 3 3 Minor 38 %
Constants With Strange Names Analyze, All, Simple 19 4 Minor 1 %
Multiple Constant Definition Analyze, All, Simple 3 3 Minor 32 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72 9 5 Minor 54 %
Unused Constants Dead code, All, Simple 4 1 Minor 36 %
Undefined Caught Exceptions Dead code, All 1 1 None 50 %
Uncaught Exceptions Analyze, All 118 36 Minor 81 %
Unthrown Exception Analyze, Dead code, ClearPHP, All, Simple 1 1 Minor 43 %
Useless Catch All, Analyze 1 1 Minor 47 %
Aliases Usage Analyze, ClearPHP, OneFile, All, Simple, Level 1 9 4 Minor 42 %
Use Named Boolean In Argument Definition All, Analyze 4 4 Minor 84 %
Callback Needs Return All, Analyze 2 2 Major 51 %
Could Make A Function All, Analyze, Suggestions 818 184 Minor 75 %
Dont Collect Void All, Analyze 6 4 Minor 0 %
Empty Function Analyze, All, Simple 25 12 Minor 71 %
Hardcoded Passwords Analyze, OneFile, Security, All, Simple, Level 3 34 9 Major 61 %
Insufficient Typehint All, Analyze, Typechecks 2 2 Major 24 %
Mismatched Default Arguments All, Analyze, Typechecks 17 10 Minor 33 %
Mismatched Typehint All, Analyze, Typechecks 25 19 Major 5 %
Must Return Methods Analyze, All, Simple, Level 2, LintButWontExec 19 7 Major 22 %
Never Used Parameter All, Analyze, Suggestions 242 119 Minor 47 %
No Boolean As Default All, Analyze 4 4 Minor 84 %
Only Variable Passed By Reference All, Analyze 1 1 Critical 40 %
Relay Function Analyze, All 23 10 Major 83 %
Too Many Local Variables All, Analyze 37 25 Minor 65 %
Typehint Must Be Returned All, Analyze, LintButWontExec 2 2 Major 10 %
Undefined Functions Analyze, All 1 1 Major 71 %
Unused Arguments Analyze, All, Simple 52 26 Major 89 %
Unused Functions Dead code, All, Simple 5 4 Minor 53 %
Unused Inherited Variable In Closure All, Analyze, Dead code 1 1 Major 22 %
Unused Returned Value All, Analyze, OneFile, Dead code, Simple 31 14 Minor 39 %
Uses Default Values Analyze, All, Simple 2695 334 Minor 97 %
Methods Without Return All, Analyze 1478 1320 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple 8 5 Major 38 %
Wrong Optional Parameter Analyze, All, Simple, Level 1 1 1 Minor 38 %
Wrong Returned Type All, Analyze, ClassReview 84 33 Minor 0 %
Wrong Type With Call All, Analyze, Typechecks 3 3 Minor 0 %
Interfaces Is Not Implemented All, Analyze, ClassReview 6 6 Minor 0 %
Undefined Interfaces Analyze, All 3 1 Major 67 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks 1 1 Minor 57 %
Multiple Alias Definitions Analyze, All, Simple 180 180 Minor 42 %
Should Make Alias Analyze, OneFile, All, Simple 3 2 Minor 44 %
Unresolved Use Analyze, ClearPHP, All, Simple 15 11 Major 65 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10 8 7 Major 55 %
Logical To in_array All, Analyze, Level 2 21 13 Minor 66 %
Memoize MagicCall All, Analyze, ClassReview 2 2 Minor 0 %
Avoid mb_dectect_encoding() All, Analyze 2 1 Minor 0 %
Use random_int() Analyze, Security, All, CompatibilityPHP71, Simple, Level 2 2 1 Major 59 %
Detect Current Class All, Suggestions, CompatibilityPHP74 4 2 None 47 %
Group Use Declaration All, Appinfo, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 1 1 Minor 3 %
Wrong Parameter Type Analyze, OneFile, All, Simple 3 1 Major 45 %
Use === null Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable 1 1 Minor 52 %
List With Keys CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Appcontent, Appinfo, All 5 4 Major 32 %
No Class In Global All, Analyze 89 8 Minor 78 %
No Substr Minus One All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 6 4 Major 12 %
PHP 7.0 Scalar Typehints All, CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 509 155 Critical 31 %
PHP 7.1 Scalar Typehints All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 1 1 Critical 0 %
PHP 7.2 Scalar Typehints All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 7 1 Critical 0 %
PHP 7.3 Last Empty Argument All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 10 3 Critical 13 %
Php7 Relaxed Keyword CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, All, Appinfo 316 155 Major 25 %
PHP Keywords As Names Analyze, All, Simple 2399 304 Major 89 %
Scalar Are Not Arrays All, Analyze, CompatibilityPHP74 3 2 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3 14 4 Major 71 %
Too Many Native Calls All, Analyze 7 6 Minor 47 %
Trailing Comma In Calls All, CompatibilityPHP53, CompatibilityPHP70, Appinfo, CompatibilityPHP71, CompatibilityPHP72, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 10 3 Minor 0 %
Use Nullable Type All, Appinfo, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 80 48 Major 21 %
Avoid Using stdClass All, Analyze, OneFile, Simple, Level 4 28 13 Minor 45 %
Usort Sorting In PHP 7.0 CompatibilityPHP70, All 14 8 Major 46 %
Always Anchor Regex All, Security 86 33 Major 65 %
Avoid Those Hash Functions Security, All 16 5 Major 60 %
Direct Injection Security, All 5 1 Major 41 %
Don't Echo Error All, Analyze, Security, Simple, Level 1 2 1 Critical 32 %
Indirect Injection Security, All 17 3 Critical 21 %
Keep Files Access Restricted All, Security 1 1 Minor 0 %
Avoid sleep()/usleep() Security, All 11 7 Minor 39 %
Safe HTTP Headers All, Security 2 1 Major 5 %
Should Use Prepared Statement Analyze, Security, All, Simple 43 16 Major 22 %
Constant Comparison All, Analyze 4 3 Minor 0 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4 8 8 Minor 92 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2 96 48 Minor 76 %
Buried Assignation Analyze, All 54 19 Minor 82 %
Casting Ternary All, Analyze, OneFile 1 1 Major 0 %
Check All Types All, Analyze 76 34 Major 68 %
Check JSON All, Analyze 143 52 Major 64 %
Common Alternatives Analyze, All, Simple 106 46 Major 61 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple 7 6 Minor 60 %
Could Use str_repeat() All, Analyze, Level 1, Top10 8 5 Minor 12 %
Dont Change The Blind Var All, Analyze 107 68 Minor 72 %
Dont Mix ++ All, Analyze 35 10 Minor 43 %
Double Assignation Analyze, All 63 29 Major 55 %
Double Instructions Analyze, All, Simple 20 17 Minor 57 %
Drop Else After Return All, Analyze, OneFile, Simple, Suggestions, Level 4 44 33 Minor 70 %
Echo With Concat Performances, Analyze, All, Simple, Suggestions 173 37 Minor 58 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector 1 1 Minor 65 %
Empty Blocks Analyze, All, Simple 6 4 Minor 57 %
Empty Try Catch Analyze, All, Level 3 6 4 Minor 47 %
Eval() Usage Analyze, Appinfo, Performances, OneFile, ClearPHP, All, Simple, Security 2 1 Major 37 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All 46 22 Major 60 %
Switch Fallthrough All, Inventory, Security, Stats 3 3 Minor 37 %
Global Usage Analyze, Appinfo, ClearPHP, All 4 3 Minor 52 %
Identical Consecutive Expression All, Analyze 19 13 Minor 58 %
Iffectations Analyze, All 78 23 Minor 80 %
Implode() Arguments Order All, Analyze 29 13 Minor 0 %
Inconsistent Elseif All, Analyze 26 19 Major 73 %
Infinite Recursion All, Analyze 5 4 Major 0 %
Long Arguments All, Analyze 229 89 Minor 67 %
Max Level Of Nesting All, Analyze 22 15 Minor 0 %
Merge If Then All, Analyze 20 13 Minor 0 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4 18 3 Major 62 %
Missing Cases In Switch All, Analyze 6 6 Minor 2 %
Missing New ? All, Analyze 89 55 Critical 5 %
Mixed Concat And Interpolation All, Coding Conventions, Analyze 24 12 Minor 43 %
Modernize Empty With Expression All, Analyze, OneFile, Simple 215 139 Minor 56 %
Multiple Type Variable All, Analyze, Level 4 83 23 Minor 43 %
Multiply By One Analyze, OneFile, ClearPHP, All, Simple, Level 1 1 1 Minor 17 %
Nested Ifthen Analyze, All, RadwellCodes 44 24 Major 87 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1 2 2 Major 20 %
Don't Change Incomings Analyze, All 1 1 Minor 44 %
No Choice Analyze, All, Simple, Level 2, Top10 6 5 Major 43 %
No Hardcoded Path Analyze, ClearPHP, All, Simple 32 6 Major 33 %
No Need For Else All, Analyze 120 42 Minor 74 %
No Return Or Throw In Finally All, Security 1 1 Major 0 %
Variable Is Not A Condition All, Analyze 17 10 Minor 57 %
@ Operator Appinfo, ClearPHP, All, Analyze, Performances 24 20 Minor 66 %
Several Instructions On The Same Line Analyze, All 5 3 Major 57 %
Print And Die Analyze, All, Simple 5 4 Minor 29 %
Printf Number Of Arguments All, Analyze 15 8 Minor 42 %
Random Without Try Security, All 7 6 Critical 21 %
Repeated print() Analyze, All, Simple, Suggestions, Level 3, Top10 15 4 Major 49 %
Repeated Regex All, Analyze, Level 1 21 15 Minor 47 %
Results May Be Missing Analyze, All, Simple 4 2 Major 18 %
Same Conditions In Condition Analyze, All, Simple 12 10 Critical 49 %
Should Make Ternary All, Analyze, OneFile, Simple 181 65 Minor 85 %
Preprocessable Analyze, All, Rector 1979 319 Minor 86 %
Should Use Explode Args All, Analyze 5 5 Minor 0 %
Static Loop Analyze, All, Simple, Level 4 48 7 Minor 65 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10 1 1 Major 54 %
Switch To Switch Analyze, All, RadwellCodes, Simple 39 22 Minor 79 %
Switch Without Default Analyze, ClearPHP, All, Simple 2 2 Major 68 %
Timestamp Difference Analyze, All, Simple, Level 3 2 2 Major 50 %
Unchecked Resources Analyze, ClearPHP, All, Simple, Level 2 10 6 Major 49 %
Unconditional Break In Loop All, Analyze, Level 3 2 2 Major 46 %
Unpreprocessed Values Analyze, OneFile, ClearPHP, All, Simple 2 2 Minor 28 %
Unreachable Code Dead code, OneFile, ClearPHP, All, Simple, Suggestions, Level 3 20 9 Major 44 %
Use Positive Condition All, Analyze, OneFile, Simple 15 8 Minor 81 %
Use System Tmp Analyze, All, Simple, Level 3 1 1 Major 1 %
Useless Casting All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4 5 3 Minor 37 %
Useless Check All, Analyze, OneFile, Simple, Level 1 1 1 Minor 48 %
Useless Global Analyze, OneFile, All, Simple, Level 2 1 1 Minor 24 %
Useless Parenthesis Analyze, All, Simple 10 7 Minor 81 %
Useless Unset Analyze, OneFile, ClearPHP, All, Simple, Level 2 12 4 Major 28 %
var_dump()... Usage Analyze, ClearPHP, Security, All 19 9 Critical 40 %
One Variable String Analyze, All, RadwellCodes, Simple 8 2 Minor 29 %
Should Typecast Analyze, OneFile, All, Simple 13 7 Minor 47 %
String May Hold A Variable Analyze, All, Simple 158 46 Minor 58 %
Strings With Strange Space All, Analyze 4 2 Minor 15 %
Assigned Twice All, Analyze 222 39 Minor 78 %
Overwritten Literals Analyze, All 307 42 Major 78 %
Php 7 Indirect Expression CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP70, All 1 1 Major 14 %
Strange Name For Variables All, Analyze 146 7 Minor 28 %
Undefined Variable All, Analyze 51 14 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 13 9 Minor 87 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4 256 117 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple 119 55 Minor 78 %