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 71 58 Minor 0 %
Multiple Index Definition Analyze, OneFile, All, Simple, Rector, CI-checks, CE 18 9 Minor 33 %
Null Or Boolean Arrays Analyze, All 597 65 Minor 0 %
Randomly Sorted Arrays Analyze, All, Suggestions, Level 4 413 212 Minor 41 %
Too Many Array Dimensions Analyze, All 317 41 Minor 0 %
Weak Type With Array Analyze, All, ChangedBehavior 27158 1244 Minor 0 %
Missing Attribute Attribute Analyze, PHP recommendations, All, Attributes, ChangedBehavior 2 1 Minor 0 %
Abstract Or Implements Analyze, All, LintButWontExec, ChangedBehavior 62 52 Major 24 %
Access Protected Structures Analyze, All, Simple, IsPHP, IsStub, IsExt 237 33 Major 17 %
Ambiguous Static Analyze, All, Semantics 3734 1226 Minor 66 %
Ambiguous Visibilities Analyze, All, Semantics, ChangedBehavior 2840 1001 Minor 70 %
Avoid option arrays in constructors Analyze, All, ClassReview 10 10 Minor 0 %
Avoid Optional Properties Analyze, All 7008 891 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 79 66 Minor 65 %
Class Could Be Final Analyze, All, ClassReview 2312 1940 Minor 96 %
Method Could Be Static Analyze, All, ClassReview 1429 604 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 44 38 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 1052 133 Major 42 %
Empty Classes Analyze, All, Simple 95 80 Minor 60 %
Hidden Nullable Typehint Analyze, All, ClassReview 4943 921 Minor 0 %
Incompatible Signature Methods With Covariance Analyze, All 251 166 Critical 0 %
Inherited Property Type Must Match Analyze, All, LintButWontExec, ClassReview 688 261 Minor 0 %
Instantiating Abstract Class Analyze, All, Simple 6 5 Major 13 %
Locally Unused Property Dead code, All, Simple, Unused 2939 564 Minor 76 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2 1659 356 Minor 71 %
Make Global A Property Analyze, All, Simple 3151 605 Minor 37 %
Method Signature Must Be Compatible Analyze, All, LintButWontExec 57 47 Critical 53 %
Mismatch Properties Typehints Analyze, All, LintButWontExec, ClassReview 508 115 Minor 0 %
Multiple Class Declarations Analyze, All, Simple, CI-checks, CE 634 331 Major 29 %
Multiple Identical Trait Or Interface Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 405 262 Minor 0 %
New Object Then Immediate Call Analyze, All, ClassReview 3453 1094 Minor 0 %
self, parent, static Outside Class Analyze, All, LintButWontExec, ChangedBehavior 5 1 Major 8 %
No Public Access Analyze, All 1217 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 3 2 Minor 0 %
Non Nullable Getters Analyze, All, ClassReview 4 1 Minor 0 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 559 23 Minor 42 %
Old Style Constructor Analyze, Appinfo, OneFile, ClearPHP, All, Simple, CompatibilityPHP80, CE 2 2 Minor 14 %
Var Keyword Analyze, OneFile, ClearPHP, All, Simple, Level 1 253 6 Minor 4 %
Parent First Analyze, All, Suggestions 43 43 Minor 56 %
Parent Is Not Static Analyze, All, ClassReview 4 4 Major 0 %
Property Could Be Local Analyze, All, ClassReview 295 163 Minor 76 %
Same Name For Property And Method Analyze, All, ClassReview, Semantics 193 67 Minor 0 %
Never Used Properties Analyze, All, Simple, Unused 1150 350 Minor 71 %
Property Used In One Method Only Analyze, All 2479 661 Minor 84 %
Parent, Static Or Self Outside Class Analyze, All, Simple, ChangedBehavior 4 1 Major 21 %
Scalar Or Object Property Analyze, All 14 11 Minor 32 %
Could Use self Analyze, All, Simple, Suggestions, Level 3, ClassReview 811 170 Minor 63 %
Should Use Local Class Analyze, ClearPHP, All, Simple 1937 645 Minor 95 %
Static Methods Called From Object Analyze, All, Simple, CI-checks, CE, IsPHP, IsStub, IsExt 803 306 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 42714 2340 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 14928 1250 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 2394 399 Major 0 %
Unreachable Method Analyze, Dead code, All, ClassReview, Unused, ChangedBehavior 25 15 Minor 0 %
Unresolved Catch Dead code, ClearPHP, All, ChangedBehavior 14 7 Major 52 %
Unresolved Classes Analyze, All, Stubs, ChangedBehavior 248 46 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 120 78 Major 67 %
Unused Class Constant Analyze, All, ClassReview, Unused, ChangedBehavior 2487 133 Minor 0 %
Unused Methods Dead code, All, Simple, Unused, ChangedBehavior 6508 1476 Minor 96 %
Unused Private Methods Dead code, OneFile, All, Simple, Unused, ChangedBehavior 52 24 Minor 50 %
Unused Private Properties Dead code, OneFile, All, Simple, Unused 26 16 Minor 51 %
Unused Protected Methods Dead code, All, Unused, ChangedBehavior 297 144 Major 68 %
Unused Public Methods Analyze, All, ChangedBehavior 6929 1343 Minor 0 %
Use ::Class Operator Analyze, Performances, All, Simple, CI-checks, CE, ChangedBehavior 25900 1933 Minor 71 %
Use Instanceof Analyze, All, Simple, CI-checks, CE, ChangedBehavior 1575 540 Major 63 %
Used Once Property Analyze, All, ChangedBehavior 28 17 Minor 74 %
Useless Abstract Class Analyze, All, Simple, ChangedBehavior 59 50 Minor 33 %
Useless Constructor Analyze, All, Simple, Level 3, ChangedBehavior 28 17 Minor 41 %
Useless Method Analyze, All 73 71 Minor 0 %
Weak Typing Analyze, All, ChangedBehavior 69 51 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 218 97 Minor 0 %
Use const Analyze, Coding Conventions, All, Top10, CI-checks, CE 1327 275 Minor 54 %
Multiple Constant Definition Analyze, All, Simple, CI-checks, CE, ChangedBehavior 1166 259 Minor 41 %
Undefined Constants stubs 100 21 Minor 71 %
Unused Constants Dead code, All, Simple, Unused, ChangedBehavior 57 9 Minor 39 %
Could Be A Constant All, Dump 25588 2094 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 24 12 None 53 %
Caught Exceptions All, Dump, ChangedBehavior 689 206 None 100 %
Converted Exceptions Analyze, All 50 28 Minor 0 %
Could Drop Variable Dead code, All, Suggestions, ChangedBehavior 46 23 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 %
Throw Functioncall Analyze, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 2 1 Major 4 %
Throw Raw Exceptions Analyze, All, Suggestions 243 120 Minor 0 %
Try Without Catch All, Dump, ChangedBehavior 9 8 Minor 0 %
Uncaught Exceptions Analyze, All, ChangedBehavior 703 271 Minor 84 %
Unthrown Exception Analyze, Dead code, ClearPHP, All, Simple, ChangedBehavior 82 49 Minor 45 %
Useless Catch Analyze, All, CI-checks, CE, ChangedBehavior 35 27 Minor 44 %
Useless Try Analyze, All, ChangedBehavior 281 129 Minor 0 %
ext/mcrypt Appinfo, CompatibilityPHP71, All, CE 19 2 Major 15 %
Missing Include Analyze, All 12004 1979 Critical 65 %
Native Alias Functions Usage Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 314 35 Minor 20 %
Use Named Boolean In Argument Definition Analyze, All, ChangedBehavior 929 320 Minor 84 %
Callback Function Needs Return Analyze, All, CI-checks, CE 12 10 Major 42 %
Can't Call Generator Analyze, All 6 4 Minor 0 %
Cancelled Parameter Analyze, All, ChangedBehavior 53 51 Minor 0 %
Could Make A Function Analyze, All, Suggestions, ChangedBehavior 73555 2542 Minor 66 %
Deep Definitions Analyze, Appinfo, All, Simple, CE 53 9 Major 13 %
Don't Collect Void Analyze, All, IsPHP, IsStub, IsExt 1907 401 Minor 0 %
Empty Function Analyze, All, Simple 1430 96 Minor 74 %
Hardcoded Passwords Analyze, Security, OneFile, All, Simple, Level 3 981 206 Major 70 %
Insufficient Typehint Analyze, All, Typechecks 120 53 Major 43 %
Method Is Not An If Analyze, All 451 242 Minor 0 %
Mismatch Parameter Name Analyze, All, CompatibilityPHP80, CE, ChangedBehavior 63 50 Minor 0 %
Mismatch Type And Default Analyze, All, LintButWontExec, Typechecks, ChangedBehavior 2 1 Critical 8 %
Mismatched Default Arguments Analyze, All, Typechecks 1522 393 Minor 80 %
Mismatched Typehint Analyze, All, Typechecks 1900 530 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 182 12 Major 34 %
Never Called Parameter Analyze, All, Suggestions, Rector, Unused 1125 462 Minor 92 %
No Boolean As Default Analyze, All 925 320 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 2 2 Minor 0 %
No Return Used Analyze, All, Suggestions, Level 4 220 112 Minor 69 %
Only Variable For Reference Analyze, All, LintButWontExec 16 10 Critical 20 %
Only Variable Passed By Reference Analyze, All, IsPHP, IsStub, IsExt 16829 2278 Critical 43 %
Redeclared PHP Functions Analyze, Appinfo, All, Simple, CI-checks, CE 116 11 Minor 26 %
Relay Function Analyze, All 682 250 Major 84 %
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 684 357 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 2438 557 Major 90 %
Unused Functions Dead code, All, Simple, Unused 175 46 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 8249 1505 Minor 41 %
Use Constant As Arguments Analyze, All, Simple, CI-checks, CE 12 10 Major 30 %
Useless Argument Analyze, All 1987 787 Minor 0 %
Useless Referenced Argument Analyze, All, ChangedBehavior 237 120 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 139247 3052 Minor 98 %
Using Deprecated Method Analyze, All, Attributes 521 201 Minor 0 %
Methods Without Return Analyze, All 148 3 Minor 95 %
Wrong Argument Type Analyze, All, Typechecks 83760 2281 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple, CI-checks, CE, Stubs, IsPHP, IsStub, IsExt 1335 1068 Major 81 %
Wrong Optional Parameter Analyze, All, Simple, Level 1, CompatibilityPHP80, CI-checks, CE, ChangedBehavior 8 2 Minor 32 %
Wrong Type Returned Analyze, All, LintButWontExec, ClassReview, CI-checks, CE 7630 1203 Minor 0 %
Wrong Type With Call Analyze, All, Typechecks, CI-checks, CE 102905 2660 Minor 0 %
Already Parents Interface Analyze, All, Suggestions, Level 3, ChangedBehavior 402 259 Minor 26 %
Forgotten Interface Analyze, All, ChangedBehavior 147 136 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 408 264 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 336 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 145 113 Major 57 %
Logical To in_array Analyze, All, Level 2, ChangedBehavior 1696 434 Minor 67 %
Memoize MagicCall Analyze, All, ClassReview, ChangedBehavior 66 49 Minor 0 %
Pre-increment Analyze, Performances, All, Simple, Level 4, CI-checks, CE, ChangedBehavior 12836 1418 Minor 74 %
strpos() Too Much Analyze, All, CI-checks, CE, ChangedBehavior 207 82 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 173 84 Minor 0 %
Assumptions Analyze, All, ChangedBehavior 181 100 Minor 0 %
Avoid get_object_vars() All, CompatibilityPHP74, CompatibilityPHP80, ChangedBehavior 40 35 Minor 0 %
Avoid mb_dectect_encoding() Analyze, All, ChangedBehavior 3 3 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 33 13 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 2711 852 Major 0 %
Deprecated PHP Functions Analyze, All, CI-checks, CE 59 23 Major 23 %
Don't Pollute Global Space Analyze, All 4403 1417 Minor 0 %
Exit Without Argument Analyze, All, ChangedBehavior 1338 530 Minor 0 %
False To Array Conversion Analyze, All, LintButWontExec, CompatibilityPHP81, CompatibilityPHP82 773 85 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 544 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 10 8 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 56 34 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 2549 1224 Minor 77 %
No Null For Native PHP Functions Analyze, All, CompatibilityPHP81, Deprecated, ChangedBehavior 453 150 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 292 142 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 597 146 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3, CI-checks, CE 1263 405 Major 71 %
String Int Comparison All, CompatibilityPHP80, ChangedBehavior 2147 570 Minor 0 %
Strtr Arguments Analyze, All, CI-checks, CE 2 2 Major 7 %
Too Many Native Calls Analyze, All, IsPHP, IsExt 107 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 6871 1232 Minor 6 %
Unknown Pcre2 Option Analyze, All, CompatibilityPHP73 1 1 Minor 17 %
Use Nullable Type Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, All, CE 860 328 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 309 132 Minor 46 %
Wrong Type For Native PHP Function Analyze, All, CI-checks, CE 1925 606 Minor 0 %
Always Anchor Regex Security, All 1564 486 Major 65 %
Avoid Those Hash Functions Security, All 167 83 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 4879 980 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 2406 298 Minor 0 %
Indirect Injection Security, All, ChangedBehavior 826 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 45 13 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 116 54 Major 28 %
Unserialize Second Arg Security, All 28 22 Critical 50 %
Adding Zero Dump 78 52 Minor 69 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 176 115 Major 56 %
Alternative Syntax Consistence Analyze, All 4 1 Major 21 %
Comparison Is Always The Same Analyze, All, ChangedBehavior 677 209 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 3188 1059 Minor 64 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2, CI-checks, CE 2557 655 Minor 77 %
Buried Assignation Analyze, All 789 303 Minor 84 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1 1322 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 534 275 Major 69 %
Check Division By Zero Analyze, All, ChangedBehavior 852 150 Minor 0 %
Check JSON Analyze, All, CI-checks, CE 440 230 Major 65 %
Common Alternatives Analyze, All, Simple 1755 382 Major 80 %
Concat Empty String Analyze, OneFile, All 169 88 Minor 0 %
Could Be Else Analyze, All 549 326 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 99 79 Major 56 %
Could Use Short Assignation Analyze, Performances, OneFile, All, Simple, Rector, CI-checks, CE, ChangedBehavior 565 183 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 392 203 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 402 259 Major 59 %
Double Checks Analyze, All 533 196 Minor 0 %
Double Instructions Analyze, All, Simple 1324 409 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 1365 456 Minor 70 %
Echo With Concat Analyze, Performances, All, Simple, Suggestions 28424 1128 Minor 60 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector, CI-checks, CE 1051 563 Minor 66 %
Empty Blocks Analyze, All, Simple, CI-checks, CE 414 205 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 1659 682 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 8834 1010 Minor 52 %
Htmlentities Calls Analyze, All, Simple, CI-checks, CE 45 18 Major 40 %
Htmlentities Using Default Flag Analyze, All, Simple, CI-checks, ChangedBehavior 93 33 Minor 0 %
Identical Case In Switch Analyze, All, ChangedBehavior 1117 58 Minor 0 %
Identical Conditions Analyze, All, Simple, CI-checks, CE 26 12 Critical 28 %
Identical Consecutive Expression Analyze, All 580 284 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 983 348 Major 47 %
Iffectations Analyze, All 530 183 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 233 61 Major 20 %
Infinite Recursion Analyze, All 18 14 Major 0 %
Invalid Pack Format Analyze, All, CI-checks, CE, ChangedBehavior 4 2 Major 0 %
Invalid Regex Analyze, All, CI-checks, CE, ChangedBehavior 21 7 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 129 67 Minor 68 %
Max Level Of Nesting Analyze, All 962 421 Minor 0 %
Mbstring Unknown Encoding Analyze, All, CI-checks, CE 2 1 Minor 0 %
Merge If Then Analyze, All, CI-checks, CE, ChangedBehavior 3371 979 Minor 0 %
Mismatched Ternary Alternatives Analyze, All, Suggestions, Level 4 38 28 Major 64 %
Missing Assignation In Branches Analyze, All, ChangedBehavior 8751 1522 Minor 0 %
Missing Cases In Switch Analyze, All 48 25 Minor 36 %
Maybe Missing New Analyze, All, ChangedBehavior 40 1 Critical 57 %
Missing Parenthesis Analyze, All, Simple, Level 5, CI-checks, CE, ChangedBehavior 11 5 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 3416 722 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 93 63 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 10769 1451 Major 84 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 851 322 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 117 68 Major 42 %
No Direct Usage Analyze, All, Simple 30 15 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 67 56 Minor 30 %
No Max On Empty Array All, CompatibilityPHP80, ChangedBehavior 632 306 Minor 0 %
No Need For Else Analyze, All 1551 520 Minor 74 %
No Need For Triple Equal Analyze, All 52 24 Minor 0 %
No Null For Index Analyze, All, ChangedBehavior 236 115 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 520 238 Minor 62 %
Avoid Substr() One Analyze, Performances, CompatibilityPHP71, All, Simple, Suggestions, Level 2, Top10, CI-checks, CE 299 104 Minor 58 %
No Valid Cast Analyze, All 4 2 Minor 0 %
Variable Is Not A Condition Analyze, All 24703 1947 Minor 93 %
Non Integer Nor String As Index Analyze, All, ChangedBehavior 110 23 Minor 0 %
@ Operator Analyze, Appinfo, Performances, ClearPHP, All, CI-checks, CE 852 267 Minor 65 %
Not Equal Is Not !== Analyze, All, CI-checks, CE 66 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 9232 1958 Minor 73 %
Several Instructions On The Same Line Analyze, All, ChangedBehavior 272 114 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 193 91 Minor 44 %
Phpinfo Security, OneFile, All, Simple 2 2 Major 16 %
Print And Die Analyze, All, Simple, CI-checks, CE 172 105 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 13894 1151 Major 50 %
Repeated Regex Analyze, All, Level 1, CI-checks, CE 3821 775 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 250 130 Major 46 %
Same Conditions In Condition Analyze, All, Simple, CI-checks, CE 406 230 Critical 55 %
Should Chain Exception Analyze, All, Simple, CI-checks, CE 30 21 Minor 39 %
Should Use Ternary Operator Analyze, OneFile, All, Simple, CI-checks, CE 3682 1033 Minor 86 %
Preprocessable Analyze, All, Rector 34929 2391 Minor 85 %
Should Use Explode Args Analyze, All, CI-checks, CE 3 3 Minor 0 %
Static Inclusions Analyze, All 12437 2033 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 127 55 Major 54 %
Suspicious Comparison Analyze, All, Level 3 54 21 Major 39 %
Switch To Switch Analyze, All, RadwellCodes, Simple 570 291 Minor 58 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks, CE 398 174 Major 69 %
Test Then Cast Analyze, All 94 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 57 37 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 474 194 Major 61 %
Unset In Foreach Analyze, Dead code, OneFile, All, Simple 1 1 Major 15 %
Unsupported Types With Operators Analyze, All, CompatibilityPHP80, CE 1266 596 Minor 0 %
Unused Global Analyze, All, Simple, Unused 1840 1 Minor 22 %
Use Constant Instead Of Function Analyze, PHP recommendations, All, php-cs-fixable, CI-checks, CE 176 119 Minor 61 %
Avoid get_class() Analyze, All, Simple, CI-checks, CE, ChangedBehavior 155 55 Minor 32 %
Use Positive Condition Analyze, OneFile, All, Simple 2972 927 Minor 82 %
Use Same Types For Comparisons Analyze, All 490 155 Minor 0 %
Use Variable Created Inside Loop Dead code, All 1610 506 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 2133 447 Minor 47 %
Useless Check Analyze, OneFile, All, Simple, Level 1, CI-checks, CE 229 149 Minor 35 %
Useless Coalesce Analyze, All, ChangedBehavior 83 40 Minor 0 %
Useless Global Analyze, OneFile, All, Simple, Level 2 50 19 Minor 27 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE 448 222 Minor 63 %
Useless Null Coalesce Analyze, All, Typehints 126 58 Minor 0 %
Useless Parenthesis Analyze, All, Simple, CI-checks, CE 9983 1368 Minor 81 %
Useless Short Ternary Analyze, All, ChangedBehavior 26 14 Minor 0 %
Useless Switch Analyze, All, Simple 18 14 Major 32 %
Useless Unset Analyze, OneFile, ClearPHP, All, Simple, Level 2, CI-checks, CE 23 7 Major 42 %
var_dump()... Usage Analyze, Security, ClearPHP, All, CI-checks, CE 8 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 212 84 Minor 33 %
Should Typecast Analyze, OneFile, All, Simple, Rector, CI-checks, CE 533 147 Minor 49 %
String May Hold A Variable Analyze, All, Simple 792 277 Minor 59 %
Strings With Strange Space Analyze, All, CI-checks, CE 14 1 Minor 21 %
Missing Some Returntype Analyze, All, Typehints, CI-checks, CE 96 64 Minor 0 %
StandaloneType True False Null Analyze, Appcontent, All, ChangedBehavior 499 148 Minor 0 %
Wrong Type With Default Analyze, All, LintButWontExec, ClassReview 16011 1507 Minor 0 %
Assigned Twice Analyze, All 9484 616 Minor 79 %
Lost References Analyze, All, Simple 4 3 Major 14 %
Overwritten Literals Analyze, All 10275 616 Major 79 %
Recycled Variables Analyze, All 987 243 Minor 0 %
Static Variable In Namespace Dead code, All 3 3 Minor 0 %
Undefined Constant Name Analyze, All, Undefined 15 3 Minor 0 %
Undefined Variable Analyze, All, CI-checks, CE, Undefined 95717 2026 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 529 217 Minor 74 %
Used Once Variables (In Scope) Analyze, OneFile, ClearPHP, All, Simple, Level 4, CE 18587 2255 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple, Unused 2038 451 Minor 87 %