PHP Static analysis for ILIAS

Label Recipes Issues Files Severity Frequence
Ambiguous Array Index Analyze, All, Simple, Level 2, Semantics, ChangedBehavior 12 5 Minor 10 %
Append And Assign Arrays Analyze, Internal, All, ChangedBehavior 56 55 Minor 0 %
Float Conversion As Index Analyze, All, CompatibilityPHP81, CompatibilityPHP82, ChangedBehavior 1 1 Minor 0 %
Multiple Index Definition Analyze, OneFile, All, Simple, Rector, CI-checks, CE 3 3 Minor 33 %
Non-constant Index In Array Analyze, All, Simple, ChangedBehavior 18 6 Minor 14 %
Null Or Boolean Arrays Analyze, All 629 138 Minor 0 %
Randomly Sorted Arrays Analyze, All, Suggestions, Level 4 3014 125 Minor 41 %
Too Many Array Dimensions Analyze, All 292 63 Minor 0 %
Weak Type With Array Analyze, All, ChangedBehavior 10306 1480 Minor 0 %
Abstract Or Implements Analyze, All, LintButWontExec, ChangedBehavior 414 412 Major 24 %
Accessing Private Analyze, All, Simple 86 30 Major 17 %
Access Protected Structures Analyze, All, Simple, IsPHP, IsStub, IsExt 32 19 Major 17 %
Ambiguous Static Analyze, All, Semantics 7506 3418 Minor 66 %
Ambiguous Visibilities Analyze, All, Semantics, ChangedBehavior 11120 3464 Minor 70 %
Anonymous Classes Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, CE 58 26 Major 16 %
Avoid option arrays in constructors Analyze, All, ClassReview 2 2 Minor 0 %
Avoid Optional Properties Analyze, All 1271 502 Major 84 %
Cant Instantiate Non Class Analyze, All, ClassReview 1 1 Minor 0 %
Class, Interface, Enum Or Trait With Identical Names Analyze, All 414 414 Minor 19 %
Clone With Non-Object Analyze, All, LintButWontExec 69 33 Minor 33 %
Const Visibility Usage Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, All 611 140 Minor 24 %
Could Be Abstract Class Analyze, All, ClassReview 144 140 Minor 65 %
Class Could Be Final Analyze, All, ClassReview 5919 5796 Minor 96 %
Method Could Be Static Analyze, All, ClassReview 4546 2158 Minor 92 %
Could Inject Parameter Analyze, All, ClassReview, ChangedBehavior 2321 952 Minor 0 %
Cyclic References Analyze, All, ClassReview 5101 476 Minor 0 %
Dependant Abstract Classes Analyze, All, ClassReview 57 57 Minor 0 %
Different Argument Counts Analyze, All, ClassReview 168 139 Minor 0 %
No Direct Call To Magic Method Analyze, All, Level 2, CI-checks, CE 21 15 Major 43 %
Don't Send $this In Constructor Analyze, All 152 151 Minor 41 %
Don't Unset Properties Analyze, All, Top10, php-cs-fixable, CI-checks, CE 37 25 Major 42 %
Empty Classes Analyze, All, Simple 127 119 Minor 60 %
Hidden Nullable Typehint Analyze, All, ClassReview 2865 1133 Minor 0 %
Incompatible Signature Methods With Covariance Analyze, All 589 567 Critical 0 %
Inherited Property Type Must Match Analyze, All, LintButWontExec, ClassReview 114 87 Minor 0 %
Instantiating Abstract Class Analyze, All, Simple 6 4 Major 13 %
Locally Unused Property Dead code, All, Simple, Unused 1012 640 Minor 76 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2 1132 411 Minor 71 %
Make Global A Property Analyze, All, Simple 9530 2052 Minor 37 %
Method Signature Must Be Compatible Analyze, All, LintButWontExec 436 283 Critical 53 %
Mismatch Properties Typehints Analyze, All, LintButWontExec, ClassReview 465 195 Minor 0 %
Missing Abstract Method Analyze, All, ClassReview 3 3 Minor 0 %
Multiple Class Declarations Analyze, All, Simple, CI-checks, CE 84 72 Major 29 %
Multiple Identical Trait Or Interface Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 363 363 Minor 0 %
New Object Then Immediate Call Analyze, All, ClassReview 9506 1984 Minor 0 %
self, parent, static Outside Class Analyze, All, LintButWontExec, ChangedBehavior 3 2 Major 8 %
No Public Access Analyze, All 1620 475 Minor 61 %
Non Nullable Getters Analyze, All, ClassReview 98 63 Minor 0 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 452 9 Minor 42 %
Non Static Methods Called In A Static Analyze, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, Simple, CI-checks, CE, IsPHP, IsStub, IsExt 216 67 Minor 20 %
Old Style Constructor Analyze, Appinfo, OneFile, ClearPHP, All, Simple, CompatibilityPHP80, CE 6 1 Minor 14 %
Var Keyword Analyze, OneFile, ClearPHP, All, Simple, Level 1 230 4 Minor 4 %
Parent First Analyze, All, Suggestions 1102 1100 Minor 56 %
Parent Is Not Static Analyze, All, ClassReview 13 5 Major 0 %
Property Could Be Local Analyze, All, ClassReview 1193 620 Minor 76 %
Same Name For Property And Method Analyze, All, ClassReview, Semantics 253 100 Minor 0 %
Never Used Properties Analyze, All, Simple, Unused 849 569 Minor 71 %
Property Used In One Method Only Analyze, All 2387 1383 Minor 84 %
Parent, Static Or Self Outside Class Analyze, All, Simple, ChangedBehavior 47 1 Major 21 %
Scalar Or Object Property Analyze, All 27 24 Minor 32 %
Could Use self Analyze, All, Simple, Suggestions, Level 3, ClassReview 2316 582 Minor 63 %
Should Use Local Class Analyze, ClearPHP, All, Simple 6119 2010 Minor 95 %
Static Methods Cannot Call Non-Static Methods Analyze, All, ClassReview 5 5 Minor 0 %
Static Methods Can't Contain $this Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 2 2 Major 6 %
Static Methods Called From Object Analyze, All, Simple, CI-checks, CE, IsPHP, IsStub, IsExt 200 97 Minor 50 %
$this Belongs To Classes Or Traits Analyze, All, Simple, LintButWontExec, ChangedBehavior 793 5 Major 32 %
$this Is Not An Array Analyze, All, ChangedBehavior 46 3 Major 2 %
$this Is Not For Static Methods Analyze, All 2 2 Major 6 %
Too Many Dereferencing Analyze, All, ChangedBehavior 56 44 Minor 0 %
Too Many Finds Analyze, All, ChangedBehavior 1 1 Minor 7 %
Too Many Injections Analyze, All, Dismell, ChangedBehavior 100 100 Minor 19 %
Wrong Access Style to Property Analyze, All, Level 2, ClassReview, CI-checks, CE 2047 379 Critical 37 %
Undefined Classes Analyze, All, Stubs, Undefined 58782 5372 Major 91 %
Undefined Class Constants Analyze, All, LintButWontExec, CI-checks, CE, Stubs, ChangedBehavior, Undefined 275 54 Major 62 %
Undefined Parent Analyze, All, Simple, Undefined 34 18 Minor 45 %
Undefined Properties Analyze, ClearPHP, All, Simple, CI-checks, CE, CompatibilityPHP82, ChangedBehavior, Undefined 22050 1513 Major 61 %
Undefined static:: Or self:: Analyze, All, Simple, ChangedBehavior, Undefined 47 10 Minor 35 %
Undefined ::class Analyze, All, CI-checks, CE, ChangedBehavior, Undefined 17 15 Major 36 %
Unfinished Object Analyze, All, ClassReview 1701 961 Major 0 %
Unreachable Method Analyze, Dead code, All, ClassReview, Unused, ChangedBehavior 94 37 Minor 0 %
Unresolved Catch Dead code, ClearPHP, All, ChangedBehavior 32 12 Major 52 %
Unresolved Classes Analyze, All, Stubs, ChangedBehavior 233 92 Major 76 %
Unresolved Instanceof Analyze, Dead code, ClearPHP, All, Simple, Top10, ChangedBehavior 14 8 Major 48 %
Unused Classes Analyze, Dead code, All, Simple, Unused, ChangedBehavior 217 213 Major 67 %
Unused Class Constant Analyze, All, ClassReview, Unused, ChangedBehavior 407 172 Minor 0 %
Unused Methods Dead code, All, Simple, Unused, ChangedBehavior 16758 3983 Minor 96 %
Unused Private Methods Dead code, OneFile, All, Simple, Unused, ChangedBehavior 120 83 Minor 50 %
Unused Private Properties Dead code, OneFile, All, Simple, Unused 252 186 Minor 51 %
Unused Protected Methods Dead code, All, Unused, ChangedBehavior 1285 767 Major 68 %
Unused Public Methods Analyze, All, ChangedBehavior 14478 3983 Minor 0 %
Use ::Class Operator Analyze, Performances, All, Simple, CI-checks, CE, ChangedBehavior 13921 2226 Minor 71 %
Use Instanceof Analyze, All, Simple, CI-checks, CE, ChangedBehavior 1080 432 Major 63 %
Used Once Property Analyze, All, ChangedBehavior 533 426 Minor 74 %
Useless Abstract Class Analyze, All, Simple, ChangedBehavior 63 63 Minor 33 %
Useless Constructor Analyze, All, Simple, Level 3, ChangedBehavior 87 86 Minor 41 %
Useless Method Analyze, All 127 42 Minor 0 %
Weak Typing Analyze, All, ChangedBehavior 161 85 Minor 47 %
Illegal Name For Method Analyze, OneFile, All, Simple 532 231 Major 20 %
Wrong Typed Property Default Analyze, All, LintButWontExec, ClassReview, CI-checks, CE 417 320 Minor 0 %
Use const Analyze, Coding Conventions, All, Top10, CI-checks, CE 749 127 Minor 54 %
Multiple Constant Definition Analyze, All, Simple, CI-checks, CE, ChangedBehavior 221 63 Minor 41 %
Undefined Constants stubs 255 32 Minor 71 %
Unused Constants Dead code, All, Simple, Unused, ChangedBehavior 159 34 Minor 39 %
Could Be A Constant All, Dump 5081 1315 Minor 0 %
Catch With Undefined Variable Analyze, All, ChangedBehavior, Undefined 64 27 Minor 0 %
Undefined Caught Exceptions Dead code, All, ChangedBehavior 38 25 None 53 %
Caught Exceptions All, Dump, ChangedBehavior 890 444 None 100 %
Converted Exceptions Analyze, All 70 35 Minor 0 %
Could Drop Variable Dead code, All, Suggestions, ChangedBehavior 156 85 Minor 0 %
Forgotten Thrown Analyze, All, ChangedBehavior 9 9 Minor 20 %
Overwritten Exceptions Analyze, All, Simple, Suggestions, Level 4, CI-checks, CE, ChangedBehavior 6 3 Minor 22 %
Rethrown Exceptions Dead code, All, ChangedBehavior 15 12 Minor 20 %
Throw Functioncall Analyze, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 4 3 Major 4 %
Throw Raw Exceptions Analyze, All, Suggestions 570 294 Minor 0 %
Try Without Catch All, Dump, ChangedBehavior 3 3 Minor 0 %
Uncaught Exceptions Analyze, All, ChangedBehavior 782 330 Minor 84 %
Unthrown Exception Analyze, Dead code, ClearPHP, All, Simple, ChangedBehavior 32 32 Minor 45 %
Useless Catch Analyze, All, CI-checks, CE, ChangedBehavior 64 46 Minor 44 %
Useless Try Analyze, All, ChangedBehavior 388 239 Minor 0 %
ext/mcrypt Appinfo, CompatibilityPHP71, All, CE 2 1 Major 15 %
Missing Include Analyze, All 5216 1710 Critical 65 %
Native Alias Functions Usage Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 857 345 Minor 20 %
Use Named Boolean In Argument Definition Analyze, All, ChangedBehavior 2814 1314 Minor 84 %
Callback Function Needs Return Analyze, All, CI-checks, CE 26 18 Major 42 %
Can't Call Generator Analyze, All 11 6 Minor 0 %
Cancelled Parameter Analyze, All, ChangedBehavior 9 9 Minor 0 %
Could Make A Function Analyze, All, Suggestions, ChangedBehavior 6618 1740 Minor 66 %
Deep Definitions Analyze, Appinfo, All, Simple, CE 212 53 Major 13 %
Don't Collect Void Analyze, All, IsPHP, IsStub, IsExt 2122 598 Minor 0 %
Empty Function Analyze, All, Simple 781 457 Minor 74 %
Hardcoded Passwords Analyze, Security, OneFile, All, Simple, Level 3 290 49 Major 70 %
Insufficient Typehint Analyze, All, Typechecks 134 101 Major 43 %
Method Is Not An If Analyze, All 1610 903 Minor 0 %
Mismatch Parameter Name Analyze, All, CompatibilityPHP80, CE, ChangedBehavior 577 432 Minor 0 %
Mismatch Type And Default Analyze, All, LintButWontExec, Typechecks, ChangedBehavior 2 2 Critical 8 %
Mismatched Default Arguments Analyze, All, Typechecks 632 382 Minor 80 %
Mismatched Typehint Analyze, All, Typechecks 7604 2084 Major 66 %
Modified Typed Parameter Analyze, All, ClassReview 639 309 Minor 0 %
Must Return Methods Analyze, All, Simple, Level 2, LintButWontExec, CI-checks, CE, ChangedBehavior 76 53 Major 34 %
Never Called Parameter Analyze, All, Suggestions, Rector, Unused 948 627 Minor 92 %
No Boolean As Default Analyze, All 2538 1172 Minor 84 %
No Default For Referenced Parameter Analyze, All 14 12 Minor 0 %
No Literal For Reference Analyze, All, CI-checks, CE, ChangedBehavior 125 62 Minor 0 %
No Referenced Void Analyze, All, CompatibilityPHP81, Deprecated 17 14 Minor 0 %
No Return Used Analyze, All, Suggestions, Level 4 466 247 Minor 69 %
Only Variable For Reference Analyze, All, LintButWontExec 52 39 Critical 20 %
Only Variable Passed By Reference Analyze, All, IsPHP, IsStub, IsExt 70790 4358 Critical 43 %
Redeclared PHP Functions Analyze, Appinfo, All, Simple, CI-checks, CE 1 1 Minor 26 %
Relay Function Analyze, All 1434 680 Major 84 %
Retyped Reference Analyze, All, Typehints 14 13 Major 0 %
Should Use Existing Constants Analyze, All, Simple 1 1 Minor 32 %
Too Many Local Variables Analyze, All 787 523 Minor 64 %
Type Must Be Returned Analyze, All, LintButWontExec, CI-checks, CE, ChangedBehavior 24 20 Major 22 %
Class-typed References Analyze, All, CI-checks, CE 36 22 Minor 37 %
Undefined Functions stubs 187 34 Major 68 %
Unused Parameter Analyze, All, Simple, Unused 1762 791 Major 90 %
Unused Functions Dead code, All, Simple, Unused 153 141 Minor 52 %
Unused Inherited Variable In Closure Analyze, Dead code, All, CI-checks, CE, Unused 19 14 Major 23 %
Unused Returned Value Analyze, Dead code, OneFile, All, Simple, Unused 15105 1879 Minor 41 %
Use Constant As Arguments Analyze, All, Simple, CI-checks, CE 13 7 Major 30 %
Useless Argument Analyze, All 5582 2240 Minor 0 %
Useless Referenced Argument Analyze, All, ChangedBehavior 485 317 Minor 58 %
Useless Return Analyze, OneFile, All, Simple, Level 4 13 13 Minor 30 %
Useless Type Check Dead code, OneFile, All 7 7 Minor 0 %
Uses Default Values Analyze, All, Simple, CI-checks, CE, IsPHP, IsStub, IsExt 51764 4116 Minor 98 %
Using Deprecated Method Analyze, All, Attributes 1655 589 Minor 0 %
Methods Without Return Analyze, All 43 33 Minor 95 %
Wrong Argument Type Analyze, All, Typechecks 8887 1681 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple, CI-checks, CE, Stubs, IsPHP, IsStub, IsExt 1047 645 Major 81 %
Wrong Optional Parameter Analyze, All, Simple, Level 1, CompatibilityPHP80, CI-checks, CE, ChangedBehavior 68 46 Minor 32 %
Wrong Type Returned Analyze, All, LintButWontExec, ClassReview, CI-checks, CE 14597 3385 Minor 0 %
Wrong Type With Call Analyze, All, Typechecks, CI-checks, CE 51916 3577 Minor 0 %
Already Parents Interface Analyze, All, Suggestions, Level 3, ChangedBehavior 346 346 Minor 26 %
Forgotten Interface Analyze, All, ChangedBehavior 1666 1651 Minor 48 %
Empty Interfaces Analyze, All, Simple, ChangedBehavior 48 48 Minor 41 %
Interfaces Is Not Implemented Analyze, All, LintButWontExec, ClassReview, CI-checks, CE, ChangedBehavior 91 91 Minor 0 %
Repeated Interface Analyze, All, LintButWontExec, ChangedBehavior 395 395 Minor 0 %
Undefined Interfaces Analyze, All, LintButWontExec, CI-checks, CE, ChangedBehavior, Undefined 142 88 Major 72 %
Unused Interfaces Dead code, All, Simple, Suggestions, Level 2, Unused, ChangedBehavior 11 11 Minor 26 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks, ChangedBehavior 161 161 Minor 59 %
Hidden Use Expression Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 63 30 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 1257 762 Minor 44 %
Should Make Alias Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 2342 474 Minor 46 %
Unresolved Use Analyze, ClearPHP, All, Simple, ChangedBehavior 485 268 Major 69 %
Unused Use Dead code, ClearPHP, All, Simple, php-cs-fixable, Unused, ChangedBehavior 720 450 Major 60 %
Use With Fully Qualified Name Analyze, Coding Conventions, PHP recommendations, All, Simple, ChangedBehavior 103 72 Minor 18 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE, ChangedBehavior 110 81 Major 57 %
Logical To in_array Analyze, All, Level 2, ChangedBehavior 439 222 Minor 67 %
Memoize MagicCall Analyze, All, ClassReview, ChangedBehavior 8 5 Minor 0 %
Pre-increment Analyze, Performances, All, Simple, Level 4, CI-checks, CE, ChangedBehavior 1976 698 Minor 74 %
strpos() Too Much Analyze, All, CI-checks, CE, ChangedBehavior 73 41 Minor 49 %
Use array_slice() Analyze, All, CI-checks, CE, ChangedBehavior 4 2 Minor 0 %
array_key_exists() Works On Arrays Analyze, All, CompatibilityPHP74, CE, ChangedBehavior 297 175 Minor 0 %
Assign And Lettered Logical Operator Precedence Analyze, All, CI-checks, CE 12 9 Critical 9 %
Assumptions Analyze, All, ChangedBehavior 431 301 Minor 0 %
Avoid get_object_vars() All, CompatibilityPHP74, CompatibilityPHP80, ChangedBehavior 8 5 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 83 57 Major 59 %
Comparison On Different Types All, Dump, ChangedBehavior 2 2 Minor 0 %
Concat And Addition Analyze, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, Top10, CompatibilityPHP80, CI-checks, CE, ChangedBehavior 1 1 Minor 0 %
Constant Scalar Expression Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, ChangedBehavior 2547 1302 Major 0 %
Deprecated PHP Functions Analyze, All, CI-checks, CE 48 15 Major 23 %
Don't Pollute Global Space Analyze, All 12012 6169 Minor 0 %
Exit Without Argument Analyze, All, ChangedBehavior 311 175 Minor 0 %
False To Array Conversion Analyze, All, LintButWontExec, CompatibilityPHP81, CompatibilityPHP82 490 92 Minor 0 %
Include Variables All, Dump 12 12 Minor 0 %
Incompilable Files Analyze, Appinfo, ClearPHP, All, Simple, CE 4 4 Critical 24 %
Wrong Parameter Type Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 153 80 Major 76 %
Use === null Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable, CI-checks, CE, ChangedBehavior 698 295 Minor 53 %
PHP Native Interfaces and Return Type Analyze, All, LintButWontExec, CompatibilityPHP81, Deprecated, ChangedBehavior 135 41 Minor 0 %
List Short Syntax Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Internal, CompatibilityPHP53, CompatibilityPHP70, All, CE, ChangedBehavior 8 6 Major 17 %
List With Keys Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Appcontent, CompatibilityPHP53, CompatibilityPHP70, All, CE, ChangedBehavior 50 40 Major 34 %
Logical Should Use Symbolic Operators Analyze, OneFile, ClearPHP, All, Simple, Suggestions, Level 2, Top10, php-cs-fixable, CI-checks, CE 1228 419 Minor 43 %
Possible Missing Subpattern Analyze, All, Top10, CI-checks, CE, ChangedBehavior 17 15 Minor 45 %
PHP Native Class Type Compatibility Analyze, All, CompatibilityPHP81, ChangedBehavior 225 60 Major 0 %
No Class In Global Analyze, All, CI-checks, CE, ChangedBehavior 6356 6153 Minor 77 %
No Null For Native PHP Functions Analyze, All, CompatibilityPHP81, Deprecated, ChangedBehavior 455 172 Minor 0 %
No Reference For Ternary Analyze, All, CI-checks, CE 54 35 Major 14 %
Only Variable Passed By Reference Analyze, All, LintButWontExec, ChangedBehavior 163 74 Minor 0 %
PHP 8.0 Typehints CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, ChangedBehavior 1 1 Minor 0 %
mb_strrpos() Third Argument All, CompatibilityPHP74, CE, ChangedBehavior 1 1 Minor 0 %
Php7 Relaxed Keyword Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, CE 34 18 Major 28 %
Php 8.0 Only TypeHints Appinfo, CompatibilityPHP56, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, CE, ChangedBehavior 1837 852 Minor 0 %
PHP 8.0 Removed Directives All, CompatibilityPHP80, CE, CompatibilityPHP81 1 1 Minor 0 %
PHP 8.1 Removed Directives All, CompatibilityPHP81 3 1 Minor 0 %
$HTTP_RAW_POST_DATA Usage Appinfo, CompatibilityPHP56, All, CE 1 1 Major 3 %
Scalar Are Not Arrays Analyze, All, CompatibilityPHP74, CI-checks, CE, ChangedBehavior 493 86 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3, CI-checks, CE 189 79 Major 71 %
String Int Comparison All, CompatibilityPHP80, ChangedBehavior 1946 880 Minor 0 %
Too Many Native Calls Analyze, All, IsPHP, IsExt 26 23 Minor 49 %
Trailing Comma In Calls Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CE 3 3 Minor 1 %
Typed Property Usage Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CE 11562 3343 Minor 6 %
Unknown Pcre2 Option Analyze, All, CompatibilityPHP73 6 3 Minor 17 %
Use Nullable Type Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, All, CE 3477 1405 Major 90 %
Use PHP Object API Analyze, ClearPHP, All, Simple, CI-checks, CE 6 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 137 87 Minor 46 %
Wrong Type For Native PHP Function Analyze, All, CI-checks, CE 1370 626 Minor 0 %
Always Anchor Regex Security, All 435 157 Major 65 %
Avoid Those Hash Functions Security, All 195 120 Major 62 %
Compare Hash Security, ClearPHP, All 15 11 Major 16 %
Configure Extract Security, All 1 1 Minor 25 %
Safe Curl Options Security, All, ChangedBehavior 3 1 Major 15 %
Direct Injection Security, All, ChangedBehavior 962 357 Major 51 %
Don't Echo Error Analyze, Security, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 8 8 Critical 35 %
Dynamic Library Loading Security, All, ChangedBehavior 2 1 Major 4 %
Encoded Simple Letters Security, All, ChangedBehavior 37 10 Minor 41 %
filter_input() As A Source Security, All, ChangedBehavior 14 11 Minor 7 %
Filter Not Raw Security, All, ChangedBehavior 11 9 Minor 0 %
Incompatible Types With Incoming Values Security, All, ChangedBehavior 1776 414 Minor 0 %
Indirect Injection Security, All, ChangedBehavior 894 344 Critical 42 %
Insecure Integer Validation Security, All, ChangedBehavior 262 139 Major 0 %
Keep Files Access Restricted Security, All, ChangedBehavior 15 4 Minor 0 %
Mkdir Default Security, All, ChangedBehavior 26 25 Major 37 %
move_uploaded_file Instead Of copy Security, All, ChangedBehavior 4 4 Major 3 %
No Net For Xml Load Security, All, ChangedBehavior 55 36 Major 51 %
Avoid sleep()/usleep() Security, All, ChangedBehavior 8 5 Minor 41 %
No Weak SSL Crypto Security, All, ChangedBehavior 2 2 Minor 0 %
Unvalidated Data Cached In Session Security, All, ChangedBehavior 55 37 Minor 0 %
Set Cookie Safe Arguments Security, All, ChangedBehavior 9 8 Major 25 %
Should Use Prepared Statement Analyze, Security, All, Simple, CI-checks, CE, ChangedBehavior 869 256 Major 28 %
Unserialize Second Arg Security, All 193 124 Critical 50 %
Adding Zero Dump 6 6 Minor 69 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 127 84 Major 56 %
Comparison Is Always The Same Analyze, All, ChangedBehavior 651 385 Minor 0 %
Assign And Compare Analyze, All, CI-checks, CE 3 3 Minor 18 %
Same Variable Foreach Analyze, All, CI-checks, CE 6 5 Minor 16 %
Bail Out Early Analyze, OneFile, All, Simple, Level 4 3982 1714 Minor 64 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2, CI-checks, CE 2567 1020 Minor 77 %
Buried Assignation Analyze, All 1241 554 Minor 84 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1 554 255 Minor 56 %
Casting Ternary Analyze, OneFile, All, CI-checks, CE 52 23 Major 0 %
Catch Overwrite Variable Analyze, ClearPHP, All, Simple 2 2 Minor 25 %
Check All Types Analyze, All 400 247 Major 69 %
Check Division By Zero Analyze, All, ChangedBehavior 219 117 Minor 0 %
Check JSON Analyze, All, CI-checks, CE 370 175 Major 65 %
Coalesce And Concat Analyze, All, CI-checks, CE 1 1 Minor 0 %
Common Alternatives Analyze, All, Simple 704 323 Major 80 %
Concat Empty String Analyze, OneFile, All 368 59 Minor 0 %
Continue Is For Loop Analyze, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73 1 1 Minor 10 %
Could Be Else Analyze, All 110 96 Minor 49 %
Could Be Spaceship Analyze, All, Suggestions 2 2 Minor 0 %
Could Be A Static Variable Analyze, OneFile, All, ClassReview, ChangedBehavior 36 11 Major 23 %
Could Use __DIR__ Analyze, All, Simple, Suggestions, Level 3, php-cs-fixable, CI-checks, CE 129 119 Major 56 %
Could Use Short Assignation Analyze, Performances, OneFile, All, Simple, Rector, CI-checks, CE, ChangedBehavior 208 104 Minor 63 %
Could Use str_repeat() Analyze, All, Level 1, Top10, CI-checks, CE 13 8 Minor 14 %
Could Use Yield From Analyze, Performances, All, ChangedBehavior 7 6 Minor 0 %
Count() Is Not Negative Analyze, All, ChangedBehavior 4 3 Minor 0 %
Dangling Array References Analyze, PHP recommendations, ClearPHP, All, Simple, Level 1, Top10, CI-checks, CE 3 3 Major 46 %
Default Then Discard Analyze, All, Readability 6 3 Minor 0 %
Don't Change The Blind Var Analyze, All 360 235 Minor 73 %
Don't Mix ++ Analyze, All 407 146 Minor 56 %
Don't Read And Write In One Expression Analyze, All, CompatibilityPHP73, CompatibilityPHP74, CE 26 16 Critical 38 %
Don't Reuse Foreach Source Analyze, All 4 4 Minor 0 %
Double Assignation Analyze, All 355 213 Major 59 %
Double Checks Analyze, All 123 73 Minor 0 %
Double Instructions Analyze, All, Simple 92 62 Minor 57 %
Double Object Assignation Analyze, All, ClassReview, ChangedBehavior 3 2 Minor 0 %
Drop Else After Return Analyze, OneFile, All, Simple, Suggestions, Level 4, CI-checks, CE 576 372 Minor 70 %
Echo With Concat Analyze, Performances, All, Simple, Suggestions 100 52 Minor 60 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector, CI-checks, CE 542 316 Minor 66 %
Empty Blocks Analyze, All, Simple, CI-checks, CE 209 158 Minor 51 %
Empty Json Error Analyze, All, ChangedBehavior 6 5 Minor 0 %
Empty Instructions Analyze, Dead code, All, Simple 1 1 Minor 57 %
Empty Loop Analyze, All, ChangedBehavior 11 11 Major 0 %
Empty Try Catch Analyze, All, Level 3 102 77 Minor 49 %
Eval() Usage Analyze, Appinfo, Security, Performances, PHP recommendations, OneFile, ClearPHP, All, Simple, CE 5 3 Major 39 %
eval() Without Try Analyze, Security, All, Simple, Level 3, CI-checks, CE, ChangedBehavior 5 3 Critical 36 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All, CI-checks, CE 555 302 Major 61 %
Failed Substr() Comparison Analyze, All, Simple, Level 3, Top10, CI-checks, CE 1 1 Major 5 %
Switch Fallthrough Inventory, Security, All, Stats 43 42 Minor 39 %
Foreach Reference Is Not Modified Analyze, All, Simple, CI-checks, CE 2 2 Minor 24 %
Overwritten Source And Value Analyze, OneFile, All 9 8 Minor 0 %
Forgotten Whitespace Analyze, All, CI-checks, CE 2 2 Minor 16 %
Global Usage Analyze, Appinfo, ClearPHP, All, CE 12165 3417 Minor 52 %
Htmlentities Calls Analyze, All, Simple, CI-checks, CE 165 75 Major 40 %
Htmlentities Using Default Flag Analyze, All, Simple, CI-checks, ChangedBehavior 169 74 Minor 0 %
Identical Case In Switch Analyze, All, ChangedBehavior 837 169 Minor 0 %
Identical Conditions Analyze, All, Simple, CI-checks, CE 2 2 Critical 28 %
Identical Consecutive Expression Analyze, All 283 114 Minor 59 %
Identical On Both Sides Analyze, All, CI-checks, CE 3 3 Major 19 %
Identical Variables In Foreach Analyze, OneFile, All 9 8 Minor 0 %
If With Same Conditions Analyze, All, Simple, CI-checks, CE 160 108 Major 47 %
Iffectations Analyze, All 964 445 Minor 80 %
Implicit Conversion To Int Analyze, All, LintButWontExec 6 4 Minor 0 %
Implied If Analyze, ClearPHP, All, Simple, Rector, CI-checks, CE 20 4 Major 33 %
Implode() Arguments Order Analyze, All, CI-checks, CE, ChangedBehavior 15 13 Minor 0 %
Indices Are Int Or String Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 1143 260 Major 20 %
Infinite Recursion Analyze, All 36 33 Major 0 %
Invalid Cast Analyze, All, LintButWontExec, ChangedBehavior 1 1 Minor 0 %
Invalid Date Scanning Format Analyze, All 1 1 Major 0 %
Invalid Regex Analyze, All, CI-checks, CE, ChangedBehavior 9 6 Major 37 %
Is Actually Zero Analyze, All, Level 2, CI-checks, CE, ChangedBehavior 1 1 Minor 18 %
list() May Omit Variables Analyze, All, Simple, Suggestions, Level 3, CI-checks, CE 42 29 Minor 37 %
Logical Mistakes Analyze, All, Simple, Level 1, CI-checks, CE 8 7 Critical 32 %
Lone Blocks Analyze, All, Simple, Level 4, CI-checks, CE, ChangedBehavior 16 13 Minor 15 %
Long Arguments Analyze, All 909 177 Minor 68 %
Max Level Of Nesting Analyze, All 605 383 Minor 0 %
Mbstring Unknown Encoding Analyze, All, CI-checks, CE 2 2 Minor 0 %
Merge If Then Analyze, All, CI-checks, CE, ChangedBehavior 1759 810 Minor 0 %
Mismatched Ternary Alternatives Analyze, All, Suggestions, Level 4 32 27 Major 64 %
Missing Assignation In Branches Analyze, All, ChangedBehavior 3192 1129 Minor 0 %
Missing Cases In Switch Analyze, All 171 107 Minor 36 %
Maybe Missing New Analyze, All, ChangedBehavior 106 4 Critical 57 %
Misused Yield Analyze, All, ChangedBehavior 4 4 Minor 0 %
Mixed Concat And Interpolation Analyze, Coding Conventions, All 134 60 Minor 45 %
Modernize Empty With Expression Analyze, OneFile, All, Simple 419 208 Minor 63 %
Multiples Identical Case Analyze, OneFile, ClearPHP, All, Simple, Level 1, Rector, CI-checks, CE 147 87 Minor 29 %
Multiple Type Cases In Switch All, CompatibilityPHP80 13 11 Minor 0 %
Multiple Type Variable Analyze, All, Level 4 169 123 Minor 58 %
Multiply By One Dump, Dum p 7 7 Minor 44 %
Nested Ifthen Analyze, All, RadwellCodes 2762 871 Major 84 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 29 22 Major 50 %
Next Month Trap Analyze, All, Top10, CI-checks, CE 1 1 Major 8 %
Don't Change Incomings Analyze, All 729 248 Minor 44 %
No Choice Analyze, All, Simple, Level 2, Top10, Rector, CI-checks, CE, ChangedBehavior 139 64 Major 42 %
No Direct Usage Analyze, All, Simple 15 10 Major 39 %
No Hardcoded Hash Analyze, Security, All, Simple 81 23 Critical 45 %
No Hardcoded Ip Analyze, Security, ClearPHP, All, Simple 3 3 Minor 25 %
No Hardcoded Path Analyze, ClearPHP, All, Simple 38 24 Major 35 %
No isset() With empty() Analyze, PHP recommendations, OneFile, All, RadwellCodes, Simple, Level 4, CI-checks, CE 2 2 Minor 30 %
No Max On Empty Array All, CompatibilityPHP80, ChangedBehavior 88 57 Minor 0 %
No Need For Else Analyze, All 646 402 Minor 74 %
No Need For Triple Equal Analyze, All 51 33 Minor 0 %
No Null For Index Analyze, All, ChangedBehavior 71 45 Minor 0 %
No Parenthesis For Language Construct Analyze, ClearPHP, All, RadwellCodes, Simple, Suggestions, Level 2, CI-checks, CE, ChangedBehavior 6807 2026 Minor 62 %
No Reference On Left Side Analyze, All, CI-checks, CE 1 1 Critical 0 %
No Return Or Throw In Finally Security, All 1 1 Major 1 %
Avoid Substr() One Analyze, Performances, CompatibilityPHP71, All, Simple, Suggestions, Level 2, Top10, CI-checks, CE 187 90 Minor 58 %
No Valid Cast Analyze, All 14 10 Minor 0 %
Variable Is Not A Condition Analyze, All 8235 1928 Minor 93 %
Non Integer Nor String As Index Analyze, All, ChangedBehavior 75 18 Minor 0 %
@ Operator Analyze, Appinfo, Performances, ClearPHP, All, CI-checks, CE 570 194 Minor 65 %
Not Equal Is Not !== Analyze, All, CI-checks, CE 21 13 Minor 0 %
Not Not Analyze, OneFile, All, Simple, CI-checks, CE 2 2 Minor 14 %
Objects Don't Need References Analyze, OneFile, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE 20 16 Minor 40 %
include_once() Usage Analyze, Appinfo, All, CE 14652 3106 Minor 73 %
Several Instructions On The Same Line Analyze, All, ChangedBehavior 33 20 Major 56 %
Only Variable Returned By Reference Analyze, All, Simple 265 72 Major 3 %
openssl_random_pseudo_byte() Second Argument All, CompatibilityPHP74, CE 2 2 Minor 0 %
Or Die Analyze, OneFile, ClearPHP, All, Simple, CI-checks, CE 11 3 Minor 13 %
Overwritten Foreach Var Analyze, OneFile, All 10 9 Major 0 %
PHP7 Dirname CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, Suggestions, php-cs-fixable 53 46 Minor 44 %
Phpinfo Security, OneFile, All, Simple 1 1 Major 16 %
Print And Die Analyze, All, Simple, CI-checks, CE 191 114 Minor 32 %
Avoid Parenthesis With Language Construct Analyze, All, Simple, CI-checks, CE 26 6 Minor 11 %
Printf Number Of Arguments Analyze, All, CI-checks, CE 38 21 Minor 41 %
Queries In Loops Analyze, OneFile, All, Simple, Level 1, Top10 1 1 Major 8 %
Random Without Try Security, All 5 5 Critical 30 %
Repeated print() Analyze, All, Simple, Suggestions, Level 3, Top10, CI-checks, CE, ChangedBehavior 27 17 Major 50 %
Repeated Regex Analyze, All, Level 1, CI-checks, CE 578 210 Minor 47 %
Results May Be Missing Analyze, All, Simple, CI-checks, CE 10 5 Major 24 %
Return True False Analyze, All, Simple, Level 1, CI-checks, CE 309 182 Major 46 %
Same Conditions In Condition Analyze, All, Simple, CI-checks, CE 67 46 Critical 55 %
Should Chain Exception Analyze, All, Simple, CI-checks, CE 64 34 Minor 39 %
Should Use Ternary Operator Analyze, OneFile, All, Simple, CI-checks, CE 1668 824 Minor 86 %
Preprocessable Analyze, All, Rector 3526 863 Minor 85 %
Should Use Explode Args Analyze, All, CI-checks, CE 4 3 Minor 0 %
Sprintf Format Compilation Analyze, All 2 1 Minor 0 %
Static Inclusions Analyze, All 14548 3086 Minor 0 %
Static Loop Analyze, All, Simple, Level 4 133 91 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 124 64 Major 54 %
Suspicious Comparison Analyze, All, Level 3 144 68 Major 39 %
Switch To Switch Analyze, All, RadwellCodes, Simple 126 85 Minor 58 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks, CE 1645 841 Major 69 %
Ternary In Concat Analyze, All, Simple, Level 3, CI-checks, CE 3 3 Critical 8 %
Test Then Cast Analyze, All 58 43 Major 34 %
Timestamp Difference Analyze, All, Simple, Level 3, CI-checks, CE 91 55 Major 49 %
Unchecked Resources Analyze, ClearPHP, All, Simple, Level 2, CI-checks, CE 80 54 Major 50 %
Unconditional Break In Loop Analyze, All, Level 3, CI-checks, CE 294 182 Major 48 %
Unpreprocessed Values Analyze, Performances, OneFile, ClearPHP, All, Simple 15 11 Minor 30 %
Unreachable Code Dead code, OneFile, ClearPHP, All, Simple, Suggestions, Level 3, Unused, ChangedBehavior 1402 468 Major 61 %
Unset In Foreach Analyze, Dead code, OneFile, All, Simple 1 1 Major 15 %
Unsupported Types With Operators Analyze, All, CompatibilityPHP80, CE 878 476 Minor 0 %
Unused Global Analyze, All, Simple, Unused 128 1 Minor 22 %
Use Constant Instead Of Function Analyze, PHP recommendations, All, php-cs-fixable, CI-checks, CE 145 135 Minor 61 %
Avoid get_class() Analyze, All, Simple, CI-checks, CE, ChangedBehavior 32 13 Minor 32 %
Use Positive Condition Analyze, OneFile, All, Simple 1534 730 Minor 82 %
Use Same Types For Comparisons Analyze, All 35 30 Minor 0 %
Use Variable Created Inside Loop Dead code, All 1192 468 Minor 0 %
Useless Brackets Analyze, All, RadwellCodes, Simple, CI-checks, CE 16 13 Minor 15 %
Useless Type Casting Analyze, PHP recommendations, OneFile, All, RadwellCodes, Simple, Level 4, CI-checks, CE 855 383 Minor 47 %
Useless Check Analyze, OneFile, All, Simple, Level 1, CI-checks, CE 220 117 Minor 35 %
Useless Coalesce Analyze, All, ChangedBehavior 6 6 Minor 0 %
Useless Global Analyze, OneFile, All, Simple, Level 2 43 12 Minor 27 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE 606 159 Minor 63 %
Useless Null Coalesce Analyze, All, Typehints 59 39 Minor 0 %
Useless Parenthesis Analyze, All, Simple, CI-checks, CE 2061 803 Minor 81 %
Useless Short Ternary Analyze, All, ChangedBehavior 5 3 Minor 0 %
Useless Switch Analyze, All, Simple 530 400 Major 32 %
Useless Unset Analyze, OneFile, ClearPHP, All, Simple, Level 2, CI-checks, CE 12 9 Major 42 %
var_dump()... Usage Analyze, Security, ClearPHP, All, CI-checks, CE 34 27 Critical 42 %
While(List() = Each()) Analyze, Performances, OneFile, All, Simple, Suggestions, Level 2, CI-checks, CE, ChangedBehavior 4 4 Minor 14 %
Wrong Locale Analyze, All, Semantics 5 3 Major 0 %
Wrong Precedence In Expression Analyze, All, ChangedBehavior 4 4 Minor 0 %
Wrong Range Check Analyze, All 3 2 Major 11 %
Already Parents Trait Analyze, All 38 38 Minor 0 %
Cannot Call Static Trait Method Directly Analyze, All, CompatibilityPHP81, CompatibilityPHP82 16 4 Minor 0 %
Dependant Trait Analyze, All, Level 3, ChangedBehavior 10 10 Minor 28 %
Empty Traits Analyze, Dead code, All, Simple, ChangedBehavior 1 1 Minor 12 %
Method Collision Traits Analyze, All, LintButWontExec, ChangedBehavior 64 64 Critical 5 %
Trait Not Found Analyze, All, LintButWontExec, ChangedBehavior 15 15 Minor 0 %
Undefined Insteadof Analyze, All, LintButWontExec, CI-checks, CE, ChangedBehavior, Undefined 8 4 Major 0 %
Undefined Trait Analyze, All, LintButWontExec, CI-checks, CE, ChangedBehavior, Undefined 4 4 Critical 15 %
No Real Comparison Analyze, PHP recommendations, All, Simple, Level 2, Top10, CI-checks, CE 3 2 Major 26 %
One Variable String Analyze, All, RadwellCodes, Simple, CI-checks, CE 175 57 Minor 33 %
Should Typecast Analyze, OneFile, All, Simple, Rector, CI-checks, CE 143 53 Minor 49 %
Silently Cast Integer Analyze, All, Simple, CI-checks, CE 4 1 Minor 4 %
String May Hold A Variable Analyze, All, Simple 263 42 Minor 59 %
Strings With Strange Space Analyze, All, CI-checks, CE 4 2 Minor 21 %
Missing Some Returntype Analyze, All, Typehints, CI-checks, CE 636 392 Minor 0 %
StandaloneType True False Null Analyze, Appcontent, All, ChangedBehavior 2036 880 Minor 0 %
Wrong Type With Default Analyze, All, LintButWontExec, ClassReview 8459 2441 Minor 0 %
Assigned Twice Analyze, All 4595 792 Minor 79 %
Overwritten Literals Analyze, All 5163 797 Major 79 %
Recycled Variables Analyze, All 1800 219 Minor 0 %
Undefined Constant Name Analyze, All, Undefined 12 3 Minor 0 %
Undefined Variable Analyze, All, CI-checks, CE, Undefined 47468 3100 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 276 187 Minor 74 %
Used Once Variables (In Scope) Analyze, OneFile, ClearPHP, All, Simple, Level 4, CE 19147 2949 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple, Unused 4334 1306 Minor 87 %