PHP Static analysis for dolibarr

Label Recipes Issues Files Severity Frequence
Ambiguous Array Index Analyze, All, Simple, Level 2, Semantics, ChangedBehavior 2 2 Minor 10 %
Append And Assign Arrays Analyze, Internal, All, ChangedBehavior 72 58 Minor 0 %
Multiple Index Definition Analyze, OneFile, All, Simple, Rector, CI-checks, CE 19 10 Minor 33 %
Null Or Boolean Arrays Analyze, All 601 66 Minor 0 %
Randomly Sorted Arrays Analyze, All, Suggestions, Level 4 415 214 Minor 41 %
Too Many Array Dimensions Analyze, All 317 41 Minor 0 %
Weak Type With Array Analyze, All, ChangedBehavior 27486 1279 Minor 0 %
Missing Attribute Attribute Analyze, PHP recommendations, All, Attributes, ChangedBehavior 2 1 Minor 0 %
Abstract Or Implements Analyze, All, LintButWontExec, ChangedBehavior 60 50 Major 24 %
Access Protected Structures Analyze, All, Simple, IsPHP, IsStub, IsExt 242 33 Major 17 %
Ambiguous Static Analyze, All, Semantics 3780 1243 Minor 66 %
Ambiguous Visibilities Analyze, All, Semantics, ChangedBehavior 2904 1011 Minor 70 %
Avoid option arrays in constructors Analyze, All, ClassReview 10 10 Minor 0 %
Avoid Optional Properties Analyze, All 7088 893 Major 84 %
Cant Instantiate Non Class Analyze, All, ClassReview 14 5 Minor 0 %
Check On __Call Usage Analyze, All, CI-checks, CE 1 1 Minor 0 %
Class, Interface, Enum Or Trait With Identical Names Analyze, All 93 86 Minor 19 %
Clone With Non-Object Analyze, All, LintButWontExec 5 5 Minor 33 %
Const Visibility Usage Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, All 116 11 Minor 24 %
Could Be Abstract Class Analyze, All, ClassReview 83 67 Minor 65 %
Class Could Be Final Analyze, All, ClassReview 2341 1959 Minor 96 %
Method Could Be Static Analyze, All, ClassReview 1446 614 Minor 92 %
Could Inject Parameter Analyze, All, ClassReview, ChangedBehavior 421 189 Minor 0 %
Cyclic References Analyze, All, ClassReview 39 16 Minor 0 %
Dependant Abstract Classes Analyze, All, ClassReview 9 9 Minor 0 %
Different Argument Counts Analyze, All, ClassReview 59 49 Minor 0 %
No Direct Call To Magic Method Analyze, All, Level 2, CI-checks, CE 30 19 Major 43 %
Don't Send $this In Constructor Analyze, All 44 44 Minor 41 %
Don't Unset Properties Analyze, All, Top10, php-cs-fixable, CI-checks, CE 1074 132 Major 42 %
Empty Classes Analyze, All, Simple 101 80 Minor 60 %
Implicit Nullable Type Analyze, All, ClassReview 377 217 Minor 0 %
Incompatible Signature Methods With Covariance Analyze, All 300 180 Critical 0 %
Inherited Property Type Must Match Analyze, All, LintButWontExec, ClassReview 625 260 Minor 0 %
Instantiating Abstract Class Analyze, All, Simple 6 5 Major 13 %
Locally Unused Property Dead code, All, Simple, Unused 2846 570 Minor 76 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2 1661 357 Minor 71 %
Make Global A Property Analyze, All, Simple 3142 604 Minor 37 %
Method Signature Must Be Compatible Analyze, All, LintButWontExec 72 58 Critical 53 %
Mismatch Properties Typehints Analyze, All, LintButWontExec, ClassReview 524 118 Minor 0 %
Multiple Class Declarations Analyze, All, Simple, CI-checks, CE 676 336 Major 29 %
Multiple Identical Trait Or Interface Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 404 261 Minor 0 %
New Object Then Immediate Call Analyze, All, ClassReview 3477 1104 Minor 0 %
self, parent, static Outside Class Analyze, All, LintButWontExec, ChangedBehavior 5 1 Major 8 %
No Public Access Analyze, All 1331 306 Minor 61 %
No Readonly Assignation In Global Analyze, All, ClassReview, ChangedBehavior 6 1 Minor 0 %
No Self Referencing Constant Analyze, All, Simple, LintButWontExec, ClassReview 2 1 Minor 0 %
Non Nullable Getters Analyze, All, ClassReview 4 1 Minor 0 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 576 25 Minor 42 %
Old Style Constructor Analyze, Appinfo, OneFile, ClearPHP, All, Simple, CompatibilityPHP80, CE 4 3 Minor 14 %
Var Keyword Analyze, OneFile, ClearPHP, All, Simple, Level 1 253 6 Minor 4 %
Parent First Analyze, All, Suggestions 44 44 Minor 56 %
Parent Is Not Static Analyze, All, ClassReview 4 4 Major 0 %
Property Could Be Local Analyze, All, ClassReview 303 169 Minor 76 %
Same Name For Property And Method Analyze, All, ClassReview, Semantics 201 70 Minor 0 %
Never Used Properties Analyze, All, Simple, Unused 1157 348 Minor 71 %
Property Used In One Method Only Analyze, All 2506 668 Minor 84 %
Parent, Static Or Self Outside Class Analyze, All, Simple, ChangedBehavior 4 1 Major 21 %
Scalar Or Object Property Analyze, All 16 12 Minor 32 %
Could Use self Analyze, All, Simple, Suggestions, Level 3, ClassReview 831 174 Minor 63 %
Should Use Local Class Analyze, ClearPHP, All, Simple 1960 656 Minor 95 %
Static Methods Called From Object Analyze, All, Simple, CI-checks, CE, IsPHP, IsStub, IsExt 811 309 Minor 50 %
$this Belongs To Classes Or Traits Analyze, All, Simple, LintButWontExec, ChangedBehavior 615 30 Major 32 %
Too Many Dereferencing Analyze, All, ChangedBehavior 3 3 Minor 0 %
Too Many Injections Analyze, All, Dismell, ChangedBehavior 1 1 Minor 19 %
Wrong Access Style to Property Analyze, All, Level 2, ClassReview, CI-checks, CE 116 26 Critical 37 %
Undefined Classes Analyze, All, Stubs, Undefined 5463 810 Major 91 %
Undefined Class Constants Analyze, All, LintButWontExec, CI-checks, CE, Stubs, ChangedBehavior, Undefined 290 56 Major 62 %
Undefined Parent Analyze, All, Simple, Undefined 8 5 Minor 45 %
Undefined Properties Analyze, ClearPHP, All, Simple, CI-checks, CE, CompatibilityPHP82, ChangedBehavior, Undefined 14421 1227 Major 61 %
Undefined static:: Or self:: Analyze, All, Simple, ChangedBehavior, Undefined 121 25 Minor 35 %
Undefined ::class Analyze, All, CI-checks, CE, ChangedBehavior, Undefined 46 17 Major 36 %
Unfinished Object Analyze, All, ClassReview 2396 402 Major 0 %
Unreachable Method Analyze, Dead code, All, ClassReview, Unused, ChangedBehavior 28 16 Minor 0 %
Unresolved Catch Dead code, ClearPHP, All, ChangedBehavior 17 10 Major 52 %
Unresolved Classes Analyze, All, Stubs, ChangedBehavior 253 51 Major 76 %
Unresolved Instanceof Analyze, Dead code, ClearPHP, All, Simple, Top10, ChangedBehavior 126 20 Major 48 %
Unused Classes Analyze, Dead code, All, Simple, Unused, ChangedBehavior 126 79 Major 67 %
Unused Class Constant Analyze, All, ClassReview, Unused, ChangedBehavior 2489 134 Minor 0 %
Unused Methods Dead code, All, Simple, Unused, ChangedBehavior 6699 1493 Minor 96 %
Unused Private Methods Dead code, OneFile, All, Simple, Unused, ChangedBehavior 50 22 Minor 50 %
Unused Private Properties Dead code, OneFile, All, Simple, Unused 31 20 Minor 51 %
Unused Protected Methods Dead code, All, Unused, ChangedBehavior 459 194 Major 68 %
Unused Public Methods Analyze, All, ChangedBehavior 10467 1901 Minor 0 %
Use ::Class Operator Analyze, Performances, All, Simple, CI-checks, CE, ChangedBehavior 26315 1964 Minor 71 %
Use Instanceof Analyze, All, Simple, CI-checks, CE, ChangedBehavior 1594 545 Major 63 %
Used Once Property Analyze, All, ChangedBehavior 29 18 Minor 74 %
Useless Abstract Class Analyze, All, Simple, ChangedBehavior 59 50 Minor 33 %
Useless Constructor Analyze, All, Simple, Level 3, ChangedBehavior 30 19 Minor 41 %
Useless Method Analyze, All 73 71 Minor 0 %
Weak Typing Analyze, All, ChangedBehavior 70 52 Minor 47 %
Illegal Name For Method Analyze, OneFile, All, Simple 28 14 Major 20 %
Wrong Typed Property Default Analyze, All, LintButWontExec, ClassReview, CI-checks, CE 227 98 Minor 0 %
Use const Analyze, Coding Conventions, All, Top10, CI-checks, CE 1345 276 Minor 54 %
Constant Used Only Once Analyze, All 506 119 Minor 0 %
Multiple Constant Definition Analyze, All, Simple, CI-checks, CE, ChangedBehavior 1184 260 Minor 41 %
Undefined Constants stubs 118 21 Minor 71 %
Unused Constants Dead code, All, Simple, Unused, ChangedBehavior 57 9 Minor 39 %
Could Be A Constant All, Dump 25778 2102 Minor 0 %
Can't Throw Throwable Analyze, All, LintButWontExec, ChangedBehavior 6 4 Minor 14 %
Catch With Undefined Variable Analyze, All, ChangedBehavior, Undefined 23 12 Minor 0 %
Undefined Caught Exceptions Dead code, All, ChangedBehavior 27 15 None 53 %
Caught Exceptions All, Dump, ChangedBehavior 700 210 None 100 %
Converted Exceptions Analyze, All 53 31 Minor 0 %
Could Drop Variable Dead code, All, Suggestions, ChangedBehavior 154 98 Minor 0 %
Forgotten Thrown Analyze, All, ChangedBehavior 11 8 Minor 20 %
Multiple Exceptions Catch() Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, All, CE, ChangedBehavior 5 2 Major 10 %
Overwritten Exceptions Analyze, All, Simple, Suggestions, Level 4, CI-checks, CE, ChangedBehavior 3 2 Minor 22 %
Rethrown Exceptions Dead code, All, ChangedBehavior 3 3 Minor 20 %
Throw Functioncall Analyze, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 2 1 Major 4 %
Throw Raw Exceptions Analyze, All, Suggestions 268 130 Minor 0 %
Try Without Catch All, Dump, ChangedBehavior 9 8 Minor 0 %
Uncaught Exceptions Analyze, All, ChangedBehavior 728 281 Minor 84 %
Unthrown Exception Analyze, Dead code, ClearPHP, All, Simple, ChangedBehavior 77 46 Minor 45 %
Useless Try Analyze, All, ChangedBehavior 285 131 Minor 0 %
ext/mcrypt Appinfo, CompatibilityPHP71, All, CE 19 2 Major 15 %
Missing Include Analyze, All 12061 1983 Critical 65 %
Native Alias Functions Usage Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 315 36 Minor 20 %
Use Named Boolean In Argument Definition Analyze, All, ChangedBehavior 971 330 Minor 84 %
Callback Function Needs Return Analyze, All, CI-checks, CE 14 11 Major 42 %
Can't Call Generator Analyze, All 6 4 Minor 0 %
Cancelled Parameter Analyze, All, ChangedBehavior 55 52 Minor 0 %
Could Make A Function Analyze, All, Suggestions, ChangedBehavior 74354 2566 Minor 66 %
Deep Definitions Analyze, Appinfo, All, Simple, CE 53 9 Major 13 %
Don't Collect Void Analyze, All, IsPHP, IsStub, IsExt 2207 349 Minor 0 %
Empty Function Analyze, All, Simple 1670 101 Minor 74 %
Hardcoded Passwords Analyze, Security, OneFile, All, Simple, Level 3 987 208 Major 70 %
Insufficient Typehint Analyze, All, Typechecks 133 64 Major 43 %
Method Is Not An If Analyze, All 485 248 Minor 0 %
Mismatch Parameter Name Analyze, All, CompatibilityPHP80, CE, ChangedBehavior 72 59 Minor 0 %
Mismatch Type And Default Analyze, All, LintButWontExec, Typechecks, ChangedBehavior 2 1 Critical 8 %
Mismatched Default Arguments Analyze, All, Typechecks 1545 392 Minor 80 %
Mismatched Typehint Analyze, All, Typechecks 317 144 Major 66 %
Modified Typed Parameter Analyze, All, ClassReview 42 35 Minor 0 %
Must Return Methods Analyze, All, Simple, Level 2, LintButWontExec, CI-checks, CE, ChangedBehavior 183 13 Major 34 %
Never Called Parameter Analyze, All, Suggestions, Rector, Unused 1145 470 Minor 92 %
No Boolean As Default Analyze, All 967 330 Minor 84 %
No Default For Referenced Parameter Analyze, All 64 43 Minor 0 %
No Literal For Reference Analyze, All, CI-checks, CE, ChangedBehavior 14 9 Minor 0 %
No Referenced Void Analyze, All, CompatibilityPHP81, Deprecated 12 3 Minor 0 %
No Return Used Analyze, All, Suggestions, Level 4 669 333 Minor 69 %
Only Variable For Reference Analyze, All, LintButWontExec 16 10 Critical 20 %
Only Variable Passed By Reference Analyze, All, IsPHP, IsStub, IsExt 17124 2293 Critical 43 %
Redeclared PHP Functions Analyze, Appinfo, All, Simple, CI-checks, CE 116 11 Minor 26 %
Retyped Reference Analyze, All, Typehints 18 13 Major 0 %
Should Use Existing Constants Analyze, All, Simple 14 7 Minor 32 %
Too Many Local Variables Analyze, All 692 360 Minor 64 %
Type Must Be Returned Analyze, All, LintButWontExec, CI-checks, CE, ChangedBehavior 147 2 Major 22 %
Class-typed References Analyze, All, CI-checks, CE 3 3 Minor 37 %
Unbinding Closures All, CompatibilityPHP74, CE 4 4 Minor 0 %
Undefined Functions stubs 179 58 Major 68 %
Unused Parameter Analyze, All, Simple, Unused 2676 579 Major 90 %
Unused Functions Dead code, All, Simple, Unused 183 48 Minor 52 %
Unused Inherited Variable In Closure Analyze, Dead code, All, CI-checks, CE, Unused 2 2 Major 23 %
Unused Returned Value Analyze, Dead code, OneFile, All, Simple, Unused 8234 1495 Minor 41 %
Use Constant As Arguments Analyze, All, Simple, CI-checks, CE 13 10 Major 30 %
Useless Argument Analyze, All 19 15 Minor 0 %
Useless Referenced Argument Analyze, All, ChangedBehavior 241 119 Minor 58 %
Useless Return Analyze, OneFile, All, Simple, Level 4 7 7 Minor 30 %
Useless Type Check Dead code, OneFile, All 4 4 Minor 0 %
Uses Default Values Analyze, All, Simple, CI-checks, CE, IsPHP, IsStub, IsExt 140383 3074 Minor 98 %
Using Deprecated Method Analyze, All, Attributes 561 201 Minor 0 %
Methods Without Return Analyze, All 148 3 Minor 95 %
Wrong Argument Type Analyze, All, Typechecks 84512 2294 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple, CI-checks, CE, Stubs, IsPHP, IsStub, IsExt 1346 1079 Major 81 %
Wrong Optional Parameter Analyze, All, Simple, Level 1, CompatibilityPHP80, CI-checks, CE, ChangedBehavior 9 3 Minor 32 %
Wrong Type Returned Analyze, All, LintButWontExec, ClassReview, CI-checks, CE 7785 1221 Minor 0 %
Wrong Type With Call Analyze, All, Typechecks, CI-checks, CE 103775 2678 Minor 0 %
Already Parents Interface Analyze, All, Suggestions, Level 3, ChangedBehavior 401 258 Minor 26 %
Forgotten Interface Analyze, All, ChangedBehavior 155 144 Minor 48 %
Empty Interfaces Analyze, All, Simple, ChangedBehavior 39 37 Minor 41 %
Interfaces Is Not Implemented Analyze, All, LintButWontExec, ClassReview, CI-checks, CE, ChangedBehavior 146 112 Minor 0 %
Interfaces Don't Ensure Properties Analyze, All, ClassReview, ChangedBehavior 11 2 Minor 0 %
Repeated Interface Analyze, All, LintButWontExec, ChangedBehavior 407 263 Minor 0 %
Undefined Interfaces Analyze, All, LintButWontExec, CI-checks, CE, ChangedBehavior, Undefined 288 59 Major 72 %
Unused Interfaces Dead code, All, Simple, Suggestions, Level 2, Unused, ChangedBehavior 73 73 Minor 26 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks, ChangedBehavior 161 144 Minor 59 %
Hidden Use Expression Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 595 95 Minor 23 %
Multiple Alias Definitions Per File Analyze, All, CI-checks, CE, ChangedBehavior 2 1 Minor 7 %
Multiple Alias Definitions Analyze, All, Simple, CI-checks, CE, ChangedBehavior 556 414 Minor 44 %
Should Make Alias Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 894 171 Minor 46 %
Unresolved Use Analyze, ClearPHP, All, Simple, ChangedBehavior 334 92 Major 69 %
Unused Use Dead code, ClearPHP, All, Simple, php-cs-fixable, Unused, ChangedBehavior 255 151 Major 60 %
Use With Fully Qualified Name Analyze, Coding Conventions, PHP recommendations, All, Simple, ChangedBehavior 20 20 Minor 18 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE, ChangedBehavior 150 116 Major 57 %
Logical To in_array Analyze, All, Level 2, ChangedBehavior 1710 437 Minor 67 %
Memoize MagicCall Analyze, All, ClassReview, ChangedBehavior 65 48 Minor 0 %
Pre-increment Analyze, Performances, All, Simple, Level 4, CI-checks, CE, ChangedBehavior 12898 1432 Minor 74 %
strpos() Too Much Analyze, All, CI-checks, CE, ChangedBehavior 206 83 Minor 49 %
Use array_slice() Analyze, All, CI-checks, CE, ChangedBehavior 1 1 Minor 0 %
array_key_exists() Works On Arrays Analyze, All, CompatibilityPHP74, CE, ChangedBehavior 177 84 Minor 0 %
Assumptions Analyze, All, ChangedBehavior 182 101 Minor 0 %
Avoid get_object_vars() All, CompatibilityPHP74, CompatibilityPHP80, ChangedBehavior 43 35 Minor 0 %
Avoid mb_dectect_encoding() Analyze, All, ChangedBehavior 4 4 Minor 0 %
Use random_int() Analyze, Security, CompatibilityPHP71, All, Simple, Level 2, CI-checks, CE, ChangedBehavior 143 53 Major 59 %
Comparison On Different Types All, Dump, ChangedBehavior 35 14 Minor 0 %
Concat And Addition Analyze, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, Top10, CompatibilityPHP80, CI-checks, CE, ChangedBehavior 3 3 Minor 0 %
Constant Scalar Expression Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, ChangedBehavior 2760 869 Major 0 %
Deprecated PHP Functions Analyze, All, CI-checks, CE 59 23 Major 23 %
Don't Pollute Global Space Analyze, All 4527 1442 Minor 0 %
Exit Without Argument Analyze, All, ChangedBehavior 1343 532 Minor 0 %
False To Array Conversion Analyze, All, LintButWontExec, CompatibilityPHP81, CompatibilityPHP82 803 89 Minor 0 %
Wrong fopen() Mode Analyze, All, CI-checks, CE, ChangedBehavior 3 3 Major 17 %
idn_to_ascii() New Default All, CompatibilityPHP74, CE 2 1 Minor 2 %
Include Variables All, Dump 142 99 Minor 0 %
Incompilable Files Analyze, Appinfo, ClearPHP, All, Simple, CE 2 2 Critical 24 %
Wrong Parameter Type Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 57 24 Major 76 %
Use === null Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable, CI-checks, CE, ChangedBehavior 548 234 Minor 53 %
PHP Native Interfaces and Return Type Analyze, All, LintButWontExec, CompatibilityPHP81, Deprecated, ChangedBehavior 47 11 Minor 0 %
List Short Syntax Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Internal, CompatibilityPHP53, CompatibilityPHP70, All, CE, ChangedBehavior 197 56 Major 17 %
List With Keys Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Appcontent, CompatibilityPHP53, CompatibilityPHP70, All, CE, ChangedBehavior 12 10 Major 34 %
Logical Should Use Symbolic Operators Analyze, OneFile, ClearPHP, All, Simple, Suggestions, Level 2, Top10, php-cs-fixable, CI-checks, CE 1257 40 Minor 43 %
Missing __isset() Method Analyze, All, ClassReview, ChangedBehavior 1 1 Minor 0 %
Possible Missing Subpattern Analyze, All, Top10, CI-checks, CE, ChangedBehavior 64 35 Minor 45 %
PHP Native Class Type Compatibility Analyze, All, CompatibilityPHP81, ChangedBehavior 109 23 Major 0 %
Do Not Cast To Int Analyze, PHP recommendations, All, ChangedBehavior 4 2 Minor 0 %
No Class In Global Analyze, All, CI-checks, CE, ChangedBehavior 2604 1248 Minor 77 %
No Null For Native PHP Functions Analyze, All, CompatibilityPHP81, Deprecated, ChangedBehavior 463 154 Minor 0 %
No Reference For Ternary Analyze, All, CI-checks, CE 8 6 Major 14 %
Only Variable Passed By Reference Analyze, All, LintButWontExec, ChangedBehavior 18 13 Minor 0 %
Openssl Encrypt Default Algorithm Change All, CompatibilityPHP81, ChangedBehavior 1 1 Minor 0 %
PHP 8.0 Typehints CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, ChangedBehavior 28 3 Minor 0 %
PHP 7.4 Removed Directives All, CompatibilityPHP74, CompatibilityPHP80, CE, CompatibilityPHP81 2 1 Minor 0 %
PHP 7.4 Removed Functions All, CompatibilityPHP74, CE 7 4 Critical 0 %
mb_strrpos() Third Argument All, CompatibilityPHP74, CE, ChangedBehavior 2 1 Minor 0 %
Php7 Relaxed Keyword Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, CE 28 18 Major 28 %
PHP 80 Named Parameter Variadic All, CompatibilityPHP80, CE 16 3 Minor 0 %
Php 8.0 Only TypeHints Appinfo, CompatibilityPHP56, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, CE, ChangedBehavior 302 143 Minor 0 %
PHP 8.0 Removed Directives All, CompatibilityPHP80, CE, CompatibilityPHP81 2 1 Minor 0 %
PHP 8.0 Resources Turned Into Objects All, CompatibilityPHP80, CE 1 1 Major 0 %
Union Typehint Appinfo, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, CE 30 2 Minor 0 %
PHP 8.1 Removed Directives All, CompatibilityPHP81 6 3 Minor 0 %
PHP 8.1 Resources Turned Into Objects All, CompatibilityPHP80, ChangedBehavior 3 2 Major 0 %
Scalar Are Not Arrays Analyze, All, CompatibilityPHP74, CI-checks, CE, ChangedBehavior 794 159 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3, CI-checks, CE 1264 407 Major 71 %
String Int Comparison All, CompatibilityPHP80, ChangedBehavior 2168 573 Minor 0 %
Strtr Arguments Analyze, All, CI-checks, CE 2 2 Major 7 %
Too Many Native Calls Analyze, All, IsPHP, IsExt 106 33 Minor 49 %
Trailing Comma In Calls Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CE 2 2 Minor 1 %
Typed Property Usage Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CE 6937 1246 Minor 6 %
Unknown Pcre2 Option Analyze, All, CompatibilityPHP73 1 1 Minor 17 %
Use Nullable Type Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, All, CE 871 329 Major 90 %
Use PHP Object API Analyze, ClearPHP, All, Simple, CI-checks, CE 5 3 Minor 27 %
Use Pathinfo Analyze, All, Simple, Level 3, CI-checks, CE 1 1 Minor 11 %
Avoid Using stdClass Analyze, OneFile, All, Simple, Level 4 313 135 Minor 46 %
Wrong Type For Native PHP Function Analyze, All, CI-checks, CE 1961 618 Minor 0 %
Always Anchor Regex Security, All 1577 489 Major 65 %
Avoid Those Hash Functions Security, All 168 84 Major 62 %
Configure Extract Security, All 4 2 Minor 25 %
Safe Curl Options Security, All, ChangedBehavior 9 4 Major 15 %
Direct Injection Security, All, ChangedBehavior 4898 984 Major 51 %
Don't Echo Error Analyze, Security, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 27 21 Critical 35 %
Encoded Simple Letters Security, All, ChangedBehavior 133 16 Minor 41 %
Incompatible Types With Incoming Values Security, All, ChangedBehavior 2430 301 Minor 0 %
Indirect Injection Security, All, ChangedBehavior 833 214 Critical 42 %
Insecure Integer Validation Security, All, ChangedBehavior 14 8 Major 0 %
Keep Files Access Restricted Security, All, ChangedBehavior 6 6 Minor 0 %
Mkdir Default Security, All, ChangedBehavior 8 8 Major 37 %
No Net For Xml Load Security, All, ChangedBehavior 48 16 Major 51 %
Avoid sleep()/usleep() Security, All, ChangedBehavior 31 18 Minor 41 %
No Weak SSL Crypto Security, All, ChangedBehavior 7 6 Minor 0 %
Safe HTTP Headers Security, All, ChangedBehavior 3 1 Major 5 %
Set Cookie Safe Arguments Security, All, ChangedBehavior 1 1 Major 25 %
Should Use Prepared Statement Analyze, Security, All, Simple, CI-checks, CE, ChangedBehavior 98 42 Major 28 %
Unserialize Second Arg Security, All 28 22 Critical 50 %
Adding Zero Dump 79 53 Minor 69 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 177 116 Major 56 %
Alternative Syntax Consistence Analyze, All 4 1 Major 21 %
Comparison Is Always The Same Analyze, All, ChangedBehavior 680 214 Minor 0 %
Array_Fill() With Objects Analyze, All 1 1 Minor 0 %
Assign And Compare Analyze, All, CI-checks, CE 3 3 Minor 18 %
Same Variable Foreach Analyze, All, CI-checks, CE 2 2 Minor 16 %
Bail Out Early Analyze, OneFile, All, Simple, Level 4 3226 1073 Minor 64 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2, CI-checks, CE 2595 665 Minor 77 %
Buried Assignation Analyze, All 791 303 Minor 84 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1 1327 517 Minor 56 %
Casting Ternary Analyze, OneFile, All, CI-checks, CE 5 5 Major 0 %
Catch Overwrite Variable Analyze, ClearPHP, All, Simple 1 1 Minor 25 %
Check All Types Analyze, All 537 277 Major 69 %
Check Division By Zero Analyze, All, ChangedBehavior 857 151 Minor 0 %
Check JSON Analyze, All, CI-checks, CE 452 235 Major 65 %
Common Alternatives Analyze, All, Simple 1773 385 Major 80 %
Concat Empty String Analyze, OneFile, All 169 88 Minor 0 %
Could Be Else Analyze, All 551 329 Minor 49 %
Could Be Spaceship Analyze, All, Suggestions 3 3 Minor 0 %
Could Be A Static Variable Analyze, OneFile, All, ClassReview, ChangedBehavior 24 13 Major 23 %
Could Use __DIR__ Analyze, All, Simple, Suggestions, Level 3, php-cs-fixable, CI-checks, CE 102 82 Major 56 %
Could Use Short Assignation Analyze, Performances, OneFile, All, Simple, Rector, CI-checks, CE, ChangedBehavior 570 185 Minor 63 %
Could Use str_repeat() Analyze, All, Level 1, Top10, CI-checks, CE 11 10 Minor 14 %
Could Use Yield From Analyze, Performances, All, ChangedBehavior 12 7 Minor 0 %
Count() Is Not Negative Analyze, All, ChangedBehavior 18 17 Minor 0 %
Dangling Array References Analyze, PHP recommendations, ClearPHP, All, Simple, Level 1, Top10, CI-checks, CE 64 43 Major 46 %
Default Then Discard Analyze, All, Readability 4 3 Minor 0 %
__DIR__ Then Slash Analyze, All, Level 3, CI-checks, CE, ChangedBehavior 3 3 Major 14 %
Don't Change The Blind Var Analyze, All 398 206 Minor 73 %
Don't Mix ++ Analyze, All 98 49 Minor 56 %
Don't Read And Write In One Expression Analyze, All, CompatibilityPHP73, CompatibilityPHP74, CE 19 11 Critical 38 %
Don't Reuse Foreach Source Analyze, All 9 7 Minor 0 %
Double Assignation Analyze, All 325 203 Major 59 %
Double Checks Analyze, All 553 214 Minor 0 %
Double Instructions Analyze, All, Simple 1323 411 Minor 57 %
Double Object Assignation Analyze, All, ClassReview, ChangedBehavior 6 5 Minor 0 %
Drop Else After Return Analyze, OneFile, All, Simple, Suggestions, Level 4, CI-checks, CE 1380 462 Minor 70 %
Echo With Concat Analyze, Performances, All, Simple, Suggestions 28585 1129 Minor 60 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector, CI-checks, CE 1056 564 Minor 66 %
Empty Blocks Analyze, All, Simple, CI-checks, CE 414 207 Minor 51 %
Empty Json Error Analyze, All, ChangedBehavior 3 2 Minor 0 %
Empty Instructions Analyze, Dead code, All, Simple 1 1 Minor 57 %
Empty Loop Analyze, All, ChangedBehavior 12 9 Major 0 %
Empty Try Catch Analyze, All, Level 3 33 25 Minor 49 %
Eval() Usage Analyze, Appinfo, Security, Performances, PHP recommendations, OneFile, ClearPHP, All, Simple, CE 16 9 Major 39 %
eval() Without Try Analyze, Security, All, Simple, Level 3, CI-checks, CE, ChangedBehavior 11 7 Critical 36 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All, CI-checks, CE 1660 684 Major 61 %
Failed Substr() Comparison Analyze, All, Simple, Level 3, Top10, CI-checks, CE 2 2 Major 5 %
Switch Fallthrough Inventory, Security, All, Stats 20 16 Minor 39 %
Foreach Reference Is Not Modified Analyze, All, Simple, CI-checks, CE 49 28 Minor 24 %
Overwritten Source And Value Analyze, OneFile, All 4 4 Minor 0 %
Global Usage Analyze, Appinfo, ClearPHP, All, CE 8785 1010 Minor 52 %
Htmlentities Calls Analyze, All, Simple, CI-checks, CE 57 22 Major 40 %
Htmlentities Using Default Flag Analyze, All, Simple, CI-checks, ChangedBehavior 104 36 Minor 0 %
Identical Case In Switch Analyze, All, ChangedBehavior 1123 59 Minor 0 %
Identical Conditions Analyze, All, Simple, CI-checks, CE 26 12 Critical 28 %
Identical Consecutive Expression Analyze, All 585 288 Minor 59 %
Identical On Both Sides Analyze, All, CI-checks, CE 25 9 Major 19 %
Identical Variables In Foreach Analyze, OneFile, All 5 5 Minor 0 %
If With Same Conditions Analyze, All, Simple, CI-checks, CE 992 351 Major 47 %
Iffectations Analyze, All 537 188 Minor 80 %
Implicit Conversion To Int Analyze, All, LintButWontExec 65 14 Minor 0 %
Implied If Analyze, ClearPHP, All, Simple, Rector, CI-checks, CE 11 4 Major 33 %
Implode() Arguments Order Analyze, All, CI-checks, CE, ChangedBehavior 22 17 Minor 0 %
Indices Are Int Or String Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 234 62 Major 20 %
Infinite Recursion Analyze, All 19 15 Major 0 %
Invalid Pack Format Analyze, All, CI-checks, CE, ChangedBehavior 4 2 Major 0 %
Invalid Regex Analyze, All, CI-checks, CE, ChangedBehavior 22 8 Major 37 %
Is Actually Zero Analyze, All, Level 2, CI-checks, CE, ChangedBehavior 6 4 Minor 18 %
list() May Omit Variables Analyze, All, Simple, Suggestions, Level 3, CI-checks, CE 29 16 Minor 37 %
Logical Mistakes Analyze, All, Simple, Level 1, CI-checks, CE 20 11 Critical 32 %
Lone Blocks Analyze, All, Simple, Level 4, CI-checks, CE, ChangedBehavior 691 13 Minor 15 %
Long Arguments Analyze, All 131 68 Minor 68 %
Max Level Of Nesting Analyze, All 971 424 Minor 0 %
Mbstring Unknown Encoding Analyze, All, CI-checks, CE 2 1 Minor 0 %
Merge If Then Analyze, All, CI-checks, CE, ChangedBehavior 3414 989 Minor 0 %
Mismatched Ternary Alternatives Analyze, All, Suggestions, Level 4 38 28 Major 64 %
Missing Assignation In Branches Analyze, All, ChangedBehavior 8843 1536 Minor 0 %
Missing Cases In Switch Analyze, All 48 25 Minor 36 %
Maybe Missing New Analyze, All, ChangedBehavior 58 1 Critical 57 %
Missing Parenthesis Analyze, All, Simple, Level 5, CI-checks, CE, ChangedBehavior 12 6 Major 16 %
Misused Yield Analyze, All, ChangedBehavior 2 1 Minor 0 %
Mixed Concat And Interpolation Analyze, Coding Conventions, All 156 38 Minor 45 %
Modernize Empty With Expression Analyze, OneFile, All, Simple 3516 753 Minor 63 %
Multiples Identical Case Analyze, OneFile, ClearPHP, All, Simple, Level 1, Rector, CI-checks, CE 18 8 Minor 29 %
Multiple Type Cases In Switch All, CompatibilityPHP80 7 6 Minor 0 %
Multiple Type Variable Analyze, All, Level 4 96 66 Minor 58 %
Multiply By One Dump, Dum p 41 21 Minor 44 %
Negative Power Analyze, OneFile, All, Simple, Level 3, CI-checks, CE 1 1 Major 0 %
Nested Ifthen Analyze, All, RadwellCodes 10850 1460 Major 84 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 569 206 Major 50 %
Always Positive Comparison Analyze, All, Simple, CI-checks, CE 2 2 Major 1 %
Next Month Trap Analyze, All, Top10, CI-checks, CE 4 1 Major 8 %
Don't Change Incomings Analyze, All 691 53 Minor 44 %
No Choice Analyze, All, Simple, Level 2, Top10, Rector, CI-checks, CE, ChangedBehavior 118 68 Major 42 %
No Direct Usage Analyze, All, Simple 31 16 Major 39 %
No Hardcoded Hash Analyze, Security, All, Simple 184 37 Critical 45 %
No Hardcoded Ip Analyze, Security, ClearPHP, All, Simple 55 8 Minor 25 %
No Hardcoded Path Analyze, ClearPHP, All, Simple 1 1 Major 35 %
No Hardcoded Port Analyze, Security, ClearPHP, All, Simple 2 2 Minor 12 %
No isset() With empty() Analyze, PHP recommendations, OneFile, All, RadwellCodes, Simple, Level 4, CI-checks, CE 68 56 Minor 30 %
No Max On Empty Array All, CompatibilityPHP80, ChangedBehavior 637 309 Minor 0 %
No Need For Else Analyze, All 1571 529 Minor 74 %
No Need For Triple Equal Analyze, All 51 23 Minor 0 %
No Null For Index Analyze, All, ChangedBehavior 40 20 Minor 0 %
No Object As Index Analyze, All 2 1 Minor 0 %
No Parenthesis For Language Construct Analyze, ClearPHP, All, RadwellCodes, Simple, Suggestions, Level 2, CI-checks, CE, ChangedBehavior 528 244 Minor 62 %
Avoid Substr() One Analyze, Performances, CompatibilityPHP71, All, Simple, Suggestions, Level 2, Top10, CI-checks, CE 300 105 Minor 58 %
No Valid Cast Analyze, All 4 2 Minor 0 %
Variable Is Not A Condition Analyze, All 24883 1969 Minor 93 %
Non Integer Nor String As Index Analyze, All, ChangedBehavior 111 24 Minor 0 %
@ Operator Analyze, Appinfo, Performances, ClearPHP, All, CI-checks, CE 853 270 Minor 65 %
Not Equal Is Not !== Analyze, All, CI-checks, CE 67 60 Minor 0 %
Not Not Analyze, OneFile, All, Simple, CI-checks, CE 3 1 Minor 14 %
Objects Don't Need References Analyze, OneFile, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE 422 23 Minor 40 %
include_once() Usage Analyze, Appinfo, All, CE 9294 1966 Minor 73 %
Several Instructions On The Same Line Analyze, All, ChangedBehavior 278 116 Major 56 %
Only First Byte Analyze, All, ChangedBehavior 6 1 Minor 0 %
Only Variable Returned By Reference Analyze, All, Simple 2 1 Major 3 %
Overwritten Foreach Var Analyze, OneFile, All 7 7 Major 0 %
PHP7 Dirname CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, Suggestions, php-cs-fixable 196 93 Minor 44 %
Phpinfo Security, OneFile, All, Simple 2 2 Major 16 %
Print And Die Analyze, All, Simple, CI-checks, CE 173 106 Minor 32 %
Avoid Parenthesis With Language Construct Analyze, All, Simple, CI-checks, CE 236 118 Minor 11 %
Printf Number Of Arguments Analyze, All, CI-checks, CE 6 5 Minor 41 %
Random Without Try Security, All 22 13 Critical 30 %
Repeated print() Analyze, All, Simple, Suggestions, Level 3, Top10, CI-checks, CE, ChangedBehavior 13962 1153 Major 50 %
Repeated Regex Analyze, All, Level 1, CI-checks, CE 3859 781 Minor 47 %
Results May Be Missing Analyze, All, Simple, CI-checks, CE 14 9 Major 24 %
Return True False Analyze, All, Simple, Level 1, CI-checks, CE 255 133 Major 46 %
Same Conditions In Condition Analyze, All, Simple, CI-checks, CE 407 232 Critical 55 %
Should Chain Exception Analyze, All, Simple, CI-checks, CE 33 24 Minor 39 %
Should Use Ternary Operator Analyze, OneFile, All, Simple, CI-checks, CE 3699 1040 Minor 86 %
Preprocessable Analyze, All, Rector 35261 2401 Minor 85 %
Should Use Explode Args Analyze, All, CI-checks, CE 3 3 Minor 0 %
Static Inclusions Analyze, All 12507 2040 Minor 0 %
Static Loop Analyze, All, Simple, Level 4 224 111 Minor 67 %
strip_tags() Skips Closed Tag Analyze, All, CI-checks, CE 1 1 Minor 0 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE 128 56 Major 54 %
Suspicious Comparison Analyze, All, Level 3 54 21 Major 39 %
Switch To Switch Analyze, All, RadwellCodes, Simple 574 295 Minor 58 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks, CE 406 180 Major 69 %
Test Then Cast Analyze, All 95 62 Major 34 %
Timestamp Difference Analyze, All, Simple, Level 3, CI-checks, CE 21 17 Major 49 %
Unchecked Resources Analyze, ClearPHP, All, Simple, Level 2, CI-checks, CE 60 40 Major 50 %
Unconditional Break In Loop Analyze, All, Level 3, CI-checks, CE 63 43 Major 48 %
Unpreprocessed Values Analyze, Performances, OneFile, ClearPHP, All, Simple 77 34 Minor 30 %
Unreachable Code Dead code, OneFile, ClearPHP, All, Simple, Suggestions, Level 3, Unused, ChangedBehavior 489 201 Major 61 %
Unset In Foreach Analyze, Dead code, OneFile, All, Simple 1 1 Major 15 %
Unsupported Types With Operators Analyze, All, CompatibilityPHP80, CE 1288 603 Minor 0 %
Unused Global Analyze, All, Simple, Unused 1786 1 Minor 22 %
Use Constant Instead Of Function Analyze, PHP recommendations, All, php-cs-fixable, CI-checks, CE 179 122 Minor 61 %
Avoid get_class() Analyze, All, Simple, CI-checks, CE, ChangedBehavior 159 57 Minor 32 %
Use Positive Condition Analyze, OneFile, All, Simple 3012 942 Minor 82 %
Use Same Types For Comparisons Analyze, All 498 165 Minor 0 %
Use Variable Created Inside Loop Dead code, All 1620 510 Minor 0 %
Useless Brackets Analyze, All, RadwellCodes, Simple, CI-checks, CE 691 13 Minor 15 %
Useless Type Casting Analyze, PHP recommendations, OneFile, All, RadwellCodes, Simple, Level 4, CI-checks, CE 2115 454 Minor 47 %
Useless Check Analyze, OneFile, All, Simple, Level 1, CI-checks, CE 230 149 Minor 35 %
Useless Coalesce Analyze, All, ChangedBehavior 84 41 Minor 0 %
Useless Global Analyze, OneFile, All, Simple, Level 2 49 18 Minor 27 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE 490 231 Minor 63 %
Useless Null Coalesce Analyze, All, Typehints 132 62 Minor 0 %
Useless Parenthesis Analyze, All, Simple, CI-checks, CE 9982 1377 Minor 81 %
Useless Short Ternary Analyze, All, ChangedBehavior 27 15 Minor 0 %
Useless Switch Analyze, All, Simple 18 14 Major 32 %
Useless Unset Analyze, OneFile, ClearPHP, All, Simple, Level 2, CI-checks, CE 23 6 Major 42 %
var_dump()... Usage Analyze, Security, ClearPHP, All, CI-checks, CE 9 7 Critical 42 %
While(List() = Each()) Analyze, Performances, OneFile, All, Simple, Suggestions, Level 2, CI-checks, CE, ChangedBehavior 4 2 Minor 14 %
Wrong Locale Analyze, All, Semantics 3 3 Major 0 %
Wrong Precedence In Expression Analyze, All, ChangedBehavior 23 17 Minor 0 %
Wrong Range Check Analyze, All 3 3 Major 11 %
Already Parents Trait Analyze, All 208 107 Minor 0 %
Cannot Call Static Trait Method Directly Analyze, All, CompatibilityPHP81, CompatibilityPHP82 85 15 Minor 0 %
Dependant Trait Analyze, All, Level 3, ChangedBehavior 41 35 Minor 28 %
Method Collision Traits Analyze, All, LintButWontExec, ChangedBehavior 211 107 Critical 5 %
Trait Is Not A Type Analyze, All, ClassReview, Typehints 11 5 Minor 0 %
Trait Not Found Analyze, All, LintButWontExec, ChangedBehavior 14 9 Minor 0 %
No Real Comparison Analyze, PHP recommendations, All, Simple, Level 2, Top10, CI-checks, CE 83 13 Major 26 %
One Variable String Analyze, All, RadwellCodes, Simple, CI-checks, CE 211 83 Minor 33 %
Should Typecast Analyze, OneFile, All, Simple, Rector, CI-checks, CE 546 151 Minor 49 %
String May Hold A Variable Analyze, All, Simple 837 280 Minor 59 %
Strings With Strange Space Analyze, All, CI-checks, CE 14 1 Minor 21 %
Missing Some Returntype Analyze, All, Typehints, CI-checks, CE 99 66 Minor 0 %
StandaloneType True False Null Analyze, Appcontent, All, ChangedBehavior 509 149 Minor 0 %
Wrong Type With Default Analyze, All, LintButWontExec, ClassReview 16272 1522 Minor 0 %
Assigned Twice Analyze, All 21093 1319 Minor 79 %
Lost References Analyze, All, Simple 4 3 Major 14 %
Overwritten Literals Analyze, All 22671 1319 Major 79 %
Recycled Variables Analyze, All 990 244 Minor 0 %
Static Variable In Namespace Dead code, All 3 3 Minor 0 %
Undefined Constant Name Analyze, All, Undefined 16 4 Minor 0 %
Undefined Variable Analyze, All, CI-checks, CE, Undefined 96072 2032 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 521 217 Minor 74 %
Used Once Variables (In Scope) Analyze, OneFile, ClearPHP, All, Simple, Level 4, CE 19033 2265 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple, Unused 2322 517 Minor 87 %