PHP Static analysis for CodeIgniter4

Label Recipes Issues Files Severity Frequence
Ambiguous Array Index Analyze, All, Simple, Level 2, Semantics, ChangedBehavior 39 19 Minor 31 %
Append And Assign Arrays Analyze, Internal, All, ChangedBehavior 10 9 Minor 0 %
Multiple Index Definition Analyze, OneFile, All, Simple, Rector, CI-checks, CE 5 5 Minor 13 %
No Spread For Hash Analyze, All, ChangedBehavior 1 1 Minor 0 %
Null Or Boolean Arrays Analyze, All 93 19 Minor 0 %
Randomly Sorted Arrays Analyze, All, Suggestions, Level 4 8 6 Minor 19 %
Too Many Array Dimensions Analyze, All 10 3 Minor 0 %
Weak Type With Array Analyze, All, ChangedBehavior 1518 198 Minor 0 %
Abstract Or Implements Analyze, All, LintButWontExec, ChangedBehavior 18 18 Major 20 %
Accessing Private Analyze, All, Simple, ChangedBehavior 2 2 Major 13 %
Access Protected Structures Analyze, All, Simple, ChangedBehavior 11 3 Major 12 %
Ambiguous Static Analyze, All, Semantics, ChangedBehavior 513 260 Minor 49 %
Ambiguous Visibilities Analyze, All, Semantics, ChangedBehavior 808 349 Minor 55 %
Anonymous Classes Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, CE, ChangedBehavior 1 1 Major 17 %
Avoid option arrays in constructors Analyze, All, ClassReview, ChangedBehavior 2 2 Minor 0 %
Avoid Optional Properties Analyze, All, ChangedBehavior 216 76 Major 60 %
Cant Instantiate Non Class Analyze, All, ClassReview 11 1 Minor 0 %
Check On __Call Usage Analyze, All, CI-checks, CE, ChangedBehavior 1 1 Minor 0 %
Clone With Non-Object Analyze, All, LintButWontExec, ChangedBehavior 7 5 Minor 11 %
Const Visibility Usage Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, All, ChangedBehavior 145 26 Minor 38 %
Could Be Abstract Class Analyze, All, ClassReview, ChangedBehavior 24 24 Minor 38 %
Class Could Be Final Analyze, All, ClassReview, ChangedBehavior 618 618 Minor 95 %
Method Could Be Static Analyze, All, ClassReview, ChangedBehavior 444 227 Minor 88 %
Could Inject Parameter Analyze, All, ClassReview, ChangedBehavior 179 62 Minor 0 %
Cyclic References Analyze, All, ClassReview, ChangedBehavior 2 2 Minor 0 %
Dependant Abstract Classes Analyze, All, ClassReview, ChangedBehavior 2 2 Minor 0 %
Different Argument Counts Analyze, All, ClassReview, ChangedBehavior 14 9 Minor 0 %
No Direct Call To Magic Method Analyze, All, Level 2, CI-checks, CE 13 9 Major 25 %
Don't Send $this In Constructor Analyze, All, ChangedBehavior 6 6 Minor 21 %
Don't Unset Properties Analyze, All, Top10, php-cs-fixable, CI-checks, CE, ChangedBehavior 6 3 Major 21 %
Empty Classes Analyze, All, Simple, ChangedBehavior 27 27 Minor 37 %
Incompatible Signature Methods With Covariance Analyze, All, ChangedBehavior 67 55 Critical 0 %
Inherited Property Type Must Match Analyze, All, LintButWontExec, ClassReview, ChangedBehavior 204 71 Minor 0 %
Locally Unused Property Dead code, All, Simple, Unused, ChangedBehavior 886 283 Minor 76 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2, ChangedBehavior 47 34 Minor 51 %
Method Signature Must Be Compatible Analyze, All, LintButWontExec, ChangedBehavior 170 94 Critical 32 %
Mismatch Properties Types Analyze, All, LintButWontExec, ClassReview, ChangedBehavior 156 54 Minor 0 %
Missing Abstract Method Analyze, All, ClassReview 2 2 Minor 0 %
Missing Default To Property Analyze, All 37 17 Minor 0 %
Multiple Class Declarations Analyze, All, Simple, CI-checks, CE, ChangedBehavior 264 264 Major 12 %
New Object Then Immediate Call Analyze, All, ClassReview 74 64 Minor 0 %
self, parent, static Outside Class Analyze, All, LintButWontExec, ChangedBehavior 8 3 Major 6 %
No Public Access Analyze, All, ChangedBehavior 209 77 Minor 37 %
Non Nullable Getters Analyze, All, ClassReview, ChangedBehavior 5 5 Minor 0 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 38 16 Minor 27 %
Non Static Methods Called In A Static Analyze, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, Simple, CI-checks, CE, ChangedBehavior 1 1 Minor 4 %
Parent First Analyze, All, Suggestions, ChangedBehavior 16 16 Minor 36 %
Parent Is Not Static Analyze, All, ClassReview, ChangedBehavior 1 1 Major 0 %
Property Could Be Local Analyze, All, ClassReview, ChangedBehavior 37 27 Minor 62 %
Same Name For Property And Method Analyze, All, ClassReview, Semantics, ChangedBehavior 137 51 Minor 0 %
Never Used Properties Analyze, All, Simple, Unused, ChangedBehavior 310 120 Minor 44 %
Property Used In One Method Only Analyze, All, ChangedBehavior 377 179 Minor 73 %
Parent, Static Or Self Outside Class Analyze, All, Simple, ChangedBehavior 5 2 Major 15 %
Readonly Property Compatibility Analyze, All, ClassReview 1 1 Major 0 %
Scalar Or Object Property Analyze, All 10 9 Minor 21 %
Could Use self Analyze, All, Simple, Suggestions, Level 3, ClassReview, ChangedBehavior 18 4 Minor 46 %
Should Use Local Class Analyze, ClearPHP, All, Simple, ChangedBehavior 459 193 Minor 96 %
Static Methods Called From Object Analyze, All, Simple, CI-checks, CE, ChangedBehavior 2 1 Minor 21 %
$this Belongs To Classes Or Traits Analyze, All, Simple, LintButWontExec, ChangedBehavior 217 120 Major 9 %
Too Many Dereferencing Analyze, All, ChangedBehavior 3 3 Minor 0 %
Undefined Classes Analyze, All, Stubs, Undefined 297 99 Major 97 %
Undefined Class Constants Analyze, All, LintButWontExec, CI-checks, CE, Stubs, ChangedBehavior, Undefined 16 6 Major 59 %
Undefined Parent Analyze, All, Simple, Undefined 1 1 Minor 19 %
Undefined Properties Analyze, ClearPHP, All, Simple, CI-checks, CE, CompatibilityPHP82, ChangedBehavior, Undefined 504 93 Major 61 %
Undefined static:: Or self:: Analyze, All, Simple, ChangedBehavior, Undefined 8 4 Minor 26 %
Undefined static ::class Analyze, All, CI-checks, CE, ChangedBehavior, Undefined 68 30 Major 37 %
Unfinished Object Analyze, All, ClassReview, ChangedBehavior 186 91 Major 0 %
Unreachable Method Analyze, Dead code, All, ClassReview, Unused, ChangedBehavior 3 3 Minor 0 %
Unresolved Catch Dead code, ClearPHP, All, ChangedBehavior 2 2 Major 52 %
Unresolved Classes Analyze, All, Stubs, ChangedBehavior 28 18 Major 67 %
Unresolved Instanceof Analyze, Dead code, ClearPHP, All, Simple, Top10, ChangedBehavior 35 6 Major 40 %
Unused Classes Analyze, Dead code, All, Simple, Unused, ChangedBehavior 47 47 Major 56 %
Unused Class Constant Analyze, All, ClassReview, Unused, ChangedBehavior 67 4 Minor 0 %
Unused Methods Dead code, All, Simple, Unused, ChangedBehavior 1031 336 Minor 96 %
Unused Private Methods Dead code, OneFile, All, Simple, Unused, ChangedBehavior 7 5 Minor 50 %
Unused Protected Methods Dead code, All, Unused, ChangedBehavior 313 91 Major 68 %
Unused Public Methods Analyze, All, ChangedBehavior 1930 517 Minor 0 %
Use ::Class Operator Analyze, Performances, All, Simple, CI-checks, CE, ChangedBehavior 29 26 Minor 44 %
Use Instanceof Analyze, All, Simple, CI-checks, CE, ChangedBehavior 48 24 Major 35 %
Used Once Property Analyze, All, ChangedBehavior 25 18 Minor 43 %
Useless Abstract Class Analyze, All, Simple, ChangedBehavior 1 1 Minor 27 %
Useless Constructor Analyze, All, Simple, Level 3, ChangedBehavior 3 3 Minor 23 %
Useless Method Analyze, All, ChangedBehavior 1 1 Minor 0 %
Weak Typing Analyze, All, ChangedBehavior 73 50 Minor 50 %
Wrong Typed Property Default Analyze, All, LintButWontExec, ClassReview, CI-checks, CE 52 37 Minor 0 %
Use const Analyze, Coding Conventions, All, Top10, CI-checks, CE 41 15 Minor 24 %
Constant Used Only Once Analyze, All, ChangedBehavior 28 13 Minor 0 %
Multiple Constant Definition Analyze, All, Simple, CI-checks, CE, ChangedBehavior 49 14 Minor 16 %
Undefined Constants stubs 41 6 Minor 42 %
Could Be A Constant All, Dump, ChangedBehavior 235 110 Minor 0 %
Can't Implement Throwable Analyze, All, LintButWontExec, ChangedBehavior 2 2 Minor 13 %
Catch With Undefined Variable Analyze, All, ChangedBehavior, Undefined 2 2 Minor 0 %
Undefined Caught Exceptions Dead code, All, ChangedBehavior 18 18 None 53 %
Caught Exceptions All, Dump, ChangedBehavior 117 81 None 56 %
Converted Exceptions Analyze, All, ChangedBehavior 8 8 Minor 0 %
Could Drop Variable Dead code, All, Suggestions, ChangedBehavior 24 20 Minor 0 %
Forgotten Thrown Analyze, All, ChangedBehavior 149 29 Minor 23 %
Multiple Exceptions Catch() Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, All, CE, ChangedBehavior 4 3 Major 12 %
Throw Raw Exceptions Analyze, All, Suggestions, ChangedBehavior 52 28 Minor 0 %
Try Without Catch All, Dump, ChangedBehavior 3 2 Minor 0 %
Uncaught Exceptions Analyze, All, ChangedBehavior 85 52 Minor 73 %
Unthrown Exception Analyze, Dead code, ClearPHP, All, Simple, ChangedBehavior 28 28 Minor 30 %
Useless Try Analyze, All, ChangedBehavior 54 42 Minor 0 %
Missing Include Analyze, All, ChangedBehavior 31 8 Critical 36 %
Native Alias Functions Usage Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 1 1 Minor 22 %
Use Named Boolean In Argument Definition Analyze, All, ChangedBehavior 432 133 Minor 63 %
Cancelled Parameter Analyze, All, ChangedBehavior 3 3 Minor 0 %
Could Make A Function Analyze, All, Suggestions, ChangedBehavior 1313 289 Minor 37 %
Deep Definitions Analyze, Appinfo, All, Simple, CE, ChangedBehavior 12 6 Major 15 %
Don't Collect Void Analyze, All, ChangedBehavior 71 23 Minor 0 %
Empty Function Analyze, All, Simple, ChangedBehavior 175 95 Minor 67 %
Fn Argument Variable Confusion Analyze, All, Semantics, ChangedBehavior 12 10 Minor 0 %
Hardcoded Passwords Analyze, Security, OneFile, All, Simple, Level 3, ChangedBehavior 127 77 Major 49 %
Insufficient Type Analyze, All, Typechecks, ChangedBehavior 29 27 Major 29 %
Method Is Not An If Analyze, All 65 49 Minor 0 %
Mismatch Parameter Name Analyze, All, CompatibilityPHP80, CE, ChangedBehavior 8 7 Minor 0 %
Mismatch Type And Default Analyze, All, LintButWontExec, Typechecks, ChangedBehavior 2 1 Critical 9 %
Mismatched Default Arguments Analyze, All, Typechecks, ChangedBehavior 230 50 Minor 38 %
Mismatched Type Usage Analyze, All 91 25 Minor 0 %
Mismatched Type Analyze, All, Typechecks, ChangedBehavior 217 69 Major 44 %
Modified Typed Parameter Analyze, All, ClassReview, ChangedBehavior 49 16 Minor 0 %
Must Return Methods Analyze, All, Simple, Level 2, LintButWontExec, CI-checks, CE, ChangedBehavior 2 2 Major 26 %
Never Called Parameter Analyze, All, Suggestions, Rector, Unused 146 76 Minor 55 %
No Boolean As Default Analyze, All 349 122 Minor 61 %
No Default For Referenced Parameter Analyze, All, ChangedBehavior 3 3 Minor 0 %
No Return Used Analyze, All, Suggestions, Level 4, ChangedBehavior 133 59 Minor 50 %
Only Variable Passed By Reference Analyze, All, ChangedBehavior 4 4 Critical 34 %
Renamed Parameter Analyze, All, Readability 9 8 Minor 0 %
Retyped Reference Analyze, All, Typehints, ChangedBehavior 1 1 Major 0 %
Should Use Existing Constants Analyze, All, Simple, ChangedBehavior 4 2 Minor 12 %
Too Many Local Variables Analyze, All 7 7 Minor 37 %
Type Must Be Returned Analyze, All, LintButWontExec, CI-checks, CE, ChangedBehavior 1 1 Major 17 %
Class-typed References Analyze, All, CI-checks, CE 7 7 Minor 13 %
Undefined Functions stubs 68 11 Major 34 %
Unused Parameter Analyze, All, Simple, Unused 89 48 Major 83 %
Unused Functions Dead code, All, Simple, Unused, ChangedBehavior 2 1 Minor 52 %
Unused Returned Value Analyze, Dead code, OneFile, All, Simple, Unused 496 157 Minor 55 %
Use Constant As Arguments Analyze, All, Simple, CI-checks, CE, ChangedBehavior 1 1 Major 16 %
Useless Argument Analyze, All, ChangedBehavior 4 4 Minor 0 %
Useless Referenced Argument Analyze, All, ChangedBehavior 52 47 Minor 27 %
Useless Type Check Dead code, OneFile, All, ChangedBehavior 11 10 Minor 0 %
Uses Default Values Analyze, All, Simple, CI-checks, CE, ChangedBehavior 4815 819 Minor 95 %
Using Deprecated Method Analyze, All, Attributes 56 17 Minor 0 %
Methods Without Return Analyze, All 3 3 Minor 20 %
Wrong Argument Type Analyze, All, Typechecks, ChangedBehavior 52 38 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple, CI-checks, CE, Stubs, ChangedBehavior 160 94 Major 60 %
Wrong Type Returned Analyze, All, LintButWontExec, ClassReview, CI-checks, CE, ChangedBehavior 1180 288 Minor 0 %
Wrong Type With Call Analyze, All, Typechecks, CI-checks, CE, ChangedBehavior 775 244 Minor 0 %
Already Parents Interface Analyze, All, Suggestions, Level 3, ChangedBehavior 71 71 Minor 20 %
Forgotten Interface Analyze, All, ChangedBehavior 93 93 Minor 46 %
Empty Interfaces Analyze, All, Simple, ChangedBehavior 10 10 Minor 28 %
Interfaces Is Not Implemented Analyze, All, LintButWontExec, ClassReview, CI-checks, CE, ChangedBehavior 35 35 Minor 0 %
Interfaces Don't Ensure Properties Analyze, All, ClassReview, ChangedBehavior 14 3 Minor 0 %
Repeated Interface Analyze, All, LintButWontExec, ChangedBehavior 71 71 Minor 20 %
Undefined Interfaces Analyze, All, LintButWontExec, CI-checks, CE, ChangedBehavior, Undefined 67 15 Major 90 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks, ChangedBehavior 18 18 Minor 39 %
Multiple Alias Definitions Per File Analyze, All, CI-checks, CE, ChangedBehavior 2 1 Minor 6 %
Multiple Alias Definitions Analyze, All, Simple, CI-checks, CE, ChangedBehavior 339 217 Minor 35 %
Should Make Alias Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 14 1 Minor 35 %
Unresolved Use Analyze, ClearPHP, All, Simple, ChangedBehavior 119 39 Major 92 %
Unused Use Dead code, ClearPHP, All, Simple, php-cs-fixable, Unused, ChangedBehavior 287 133 Major 60 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE, ChangedBehavior 20 13 Major 45 %
Logical To in_array() Analyze, All, Level 2, ChangedBehavior 38 28 Minor 39 %
Memoize MagicCall Analyze, All, ClassReview, ChangedBehavior 2 2 Minor 0 %
Pre-increment Analyze, Performances, All, Simple, Level 4, CI-checks, CE, ChangedBehavior 101 57 Minor 45 %
array_key_exists() Works On Arrays Analyze, All, CompatibilityPHP74, CE, ChangedBehavior 66 34 Minor 0 %
Assumptions Analyze, All, ChangedBehavior 145 78 Minor 0 %
Avoid mb_dectect_encoding() Analyze, All, ChangedBehavior 2 2 Minor 0 %
Use random_int() Analyze, Security, CompatibilityPHP71, All, Simple, Level 2, CI-checks, CE, ChangedBehavior 19 8 Major 31 %
Coalesce Equal Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, ChangedBehavior 134 53 Minor 0 %
Concat And Addition Analyze, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, Top10, CompatibilityPHP80, CI-checks, CE, ChangedBehavior 2 1 Minor 0 %
Deprecated PHP Functions Analyze, All, CI-checks, CE 1 1 Major 9 %
Don't Pollute Global Space Analyze, All 287 63 Minor 0 %
Exit Without Argument Analyze, All, ChangedBehavior, BadPractices 4 2 Minor 0 %
False To Array Conversion Analyze, All, LintButWontExec, CompatibilityPHP81, CompatibilityPHP82, ChangedBehavior 86 20 Minor 0 %
Include Variables All, Dump 20 17 Minor 0 %
Incompilable Files Analyze, Appinfo, ClearPHP, All, Simple, CE 1 1 Critical 9 %
Numeric Literal Separator Appinfo, All, CompatibilityPHP73, CE, ChangedBehavior 28 12 None 0 %
Wrong Parameter Type Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 184 64 Major 45 %
Is_A() With String Analyze, All, Simple, Rector, CI-checks, CE, ChangedBehavior 5 5 Minor 0 %
List Short Syntax Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Internal, CompatibilityPHP53, CompatibilityPHP70, All, CE, ChangedBehavior 60 30 Major 28 %
List With Keys Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, Appcontent, CompatibilityPHP53, CompatibilityPHP70, All, CE, ChangedBehavior 6 6 Major 34 %
Logical Should Use Symbolic Operators Analyze, OneFile, ClearPHP, All, Simple, Suggestions, Level 2, Top10, php-cs-fixable, CI-checks, CE 3 3 Minor 18 %
Possible Missing Subpattern Analyze, All, Top10, CI-checks, CE, ChangedBehavior 8 7 Minor 24 %
Named Parameter Usage Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, ChangedBehavior 5 2 Minor 0 %
PHP Native Class Type Compatibility Analyze, All, CompatibilityPHP81, ChangedBehavior 41 14 Major 0 %
Never Type Usage Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, CompatibilityPHP80, ChangedBehavior 1 1 None 0 %
New Initializers Appinfo, All, CompatibilityPHP73, CompatibilityPHP74, CompatibilityPHP80, ChangedBehavior 4 1 Minor 0 %
No Array In Isset Analyze, All 580 140 Minor 0 %
No Class In Global Analyze, All, CI-checks, CE, ChangedBehavior 207 45 Minor 46 %
No Null For Native PHP Functions Analyze, All, CompatibilityPHP81, Deprecated, ChangedBehavior 279 91 Minor 0 %
No Reference For Ternary Analyze, All, CI-checks, CE 1 1 Major 7 %
Only Variable Passed By Reference Analyze, All, LintButWontExec, ChangedBehavior 1 1 Minor 0 %
Php7 Relaxed Keyword Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, CE 8 8 Major 29 %
Php 8.0 Only TypeHints Appinfo, CompatibilityPHP56, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, CE, ChangedBehavior 115 60 Minor 0 %
Union Type Appinfo, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, CE, ChangedBehavior 55 20 Minor 0 %
Scalar Are Not Arrays Analyze, All, CompatibilityPHP74, CI-checks, CE, ChangedBehavior 80 15 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3, CI-checks, CE, ChangedBehavior 2 2 Major 47 %
Too Many Native Calls Analyze, All, ChangedBehavior 3 3 Minor 25 %
Trailing Comma In Calls Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CE, ChangedBehavior 387 129 Minor 22 %
Typed Property Usage Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CE, ChangedBehavior 1831 510 Minor 87 %
Unknown Pcre2 Option Analyze, All, CompatibilityPHP73, ChangedBehavior 4 2 Minor 5 %
Use Enum Case In Constant Expression Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, CompatibilityPHP80, CompatibilityPHP81, ChangedBehavior 2 1 Minor 0 %
Uses PHP 8 Match() Appinfo, All, CompatibilityPHP74, CE, ChangedBehavior 25 20 None 0 %
Use Nullable Type Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, All, CE, ChangedBehavior 923 269 Major 66 %
Use PHP Object API Analyze, ClearPHP, All, Simple, CI-checks, CE, ChangedBehavior 3 2 Minor 12 %
Avoid Using stdClass Analyze, OneFile, All, Simple, Level 4 27 18 Minor 28 %
Wrong Type For Native PHP Function Analyze, All, CI-checks, CE, ChangedBehavior 447 134 Minor 0 %
Always Anchor Regex Security, All, ChangedBehavior 68 35 Major 65 %
Avoid Those Hash Functions Security, All, ChangedBehavior 36 17 Major 62 %
Configure Extract Security, All, ChangedBehavior 5 4 Minor 25 %
Direct Injection Security, All, ChangedBehavior 18 8 Major 51 %
Don't Echo Error Analyze, Security, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 6 6 Critical 14 %
Encoded Simple Letters Security, All, ChangedBehavior 3 3 Minor 41 %
Indirect Injection Security, All, ChangedBehavior 95 17 Critical 42 %
Keep Files Access Restricted Security, All, ChangedBehavior 3 3 Minor 0 %
No Net For Xml Load Security, All, ChangedBehavior 2 2 Major 51 %
Avoid sleep()/usleep() Security, All, ChangedBehavior 9 8 Minor 41 %
No Weak SSL Crypto Security, All, ChangedBehavior 1 1 Minor 0 %
Session Lazy Write Security, All, ChangedBehavior 8 8 Major 4 %
Set Cookie Safe Arguments Security, All, ChangedBehavior 2 1 Major 25 %
Should Use Prepared Statement Analyze, Security, All, Simple, CI-checks, CE, ChangedBehavior 23 14 Major 10 %
Unserialize Second Arg Security, All, ChangedBehavior 5 5 Critical 50 %
Adding Zero Dump 2 1 Minor 18 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 20 16 Major 29 %
Alternative Syntax Consistence Analyze, All, ChangedBehavior 2 1 Major 6 %
Comparison Is Always The Same Analyze, All, ChangedBehavior 157 83 Minor 0 %
Assign And Compare Analyze, All, CI-checks, CE 1 1 Minor 8 %
Bail Out Early Analyze, OneFile, All, Simple, Level 4, ChangedBehavior 165 100 Minor 74 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2, CI-checks, CE, ChangedBehavior 2 2 Minor 51 %
Buried Assignation Analyze, All, ChangedBehavior 209 86 Minor 58 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1, ChangedBehavior 4 3 Minor 26 %
Casting Ternary Analyze, OneFile, All, CI-checks, CE, ChangedBehavior 1 1 Major 0 %
Catch Overwrite Variable Analyze, ClearPHP, All, Simple, ChangedBehavior 2 2 Minor 13 %
Check All Types Analyze, All, ChangedBehavior 61 41 Major 39 %
Check Division By Zero Analyze, All, ChangedBehavior 23 10 Minor 0 %
Check JSON Analyze, All, CI-checks, CE 26 17 Major 46 %
Coalesce And Concat Analyze, All, CI-checks, CE, ChangedBehavior 3 3 Minor 0 %
Common Alternatives Analyze, All, Simple, ChangedBehavior 30 22 Major 48 %
Concat Empty String Analyze, OneFile, All 2 1 Minor 0 %
Could Be Else Analyze, All, ChangedBehavior 3 3 Minor 23 %
Could Use Short Assignation Analyze, Performances, OneFile, All, Simple, Rector, CI-checks, CE, ChangedBehavior 3 3 Minor 34 %
Count() Is Not Negative Analyze, All, ChangedBehavior 2 2 Minor 0 %
Creating Object On Null Analyze, All 5 5 Minor 0 %
Dangling Array References Analyze, PHP recommendations, ClearPHP, All, Simple, Level 1, Top10, CI-checks, CE, ChangedBehavior 18 12 Major 26 %
Default Then Discard Analyze, All, ChangedBehavior, Readability 3 3 Minor 0 %
Don't Change The Blind Var Analyze, All, ChangedBehavior 78 51 Minor 46 %
Don't Mix ++ Analyze, All, ChangedBehavior 21 15 Minor 30 %
Don't Read And Write In One Expression Analyze, All, CompatibilityPHP73, CompatibilityPHP74, CE, ChangedBehavior 3 3 Critical 18 %
Don't Reuse Foreach Source Analyze, All, ChangedBehavior 31 23 Minor 0 %
Double Assignation Analyze, All, ChangedBehavior 52 49 Major 29 %
Double Checks Analyze, All, ChangedBehavior 114 31 Minor 0 %
Double Instructions Analyze, All, Simple, ChangedBehavior 8 7 Minor 29 %
Drop Else After Return Analyze, OneFile, All, Simple, Suggestions, Level 4, CI-checks, CE, ChangedBehavior 2 2 Minor 38 %
Echo With Concat Analyze, Performances, All, Simple, Suggestions, ChangedBehavior 30 19 Minor 44 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector, CI-checks, CE 3 3 Minor 35 %
Empty Blocks Analyze, All, Simple, CI-checks, CE, ChangedBehavior 44 31 Minor 25 %
Empty Json Error Analyze, All, ChangedBehavior 2 1 Minor 0 %
Empty Instructions Analyze, Dead code, All, Simple, ChangedBehavior 1 1 Minor 19 %
Empty Try Catch Analyze, All, Level 3 7 7 Minor 30 %
Eval() Usage Analyze, Appinfo, Security, Performances, PHP recommendations, OneFile, ClearPHP, All, Simple, CE, ChangedBehavior, BadPractices 2 2 Major 15 %
eval() Without Try Analyze, Security, All, Simple, Level 3, CI-checks, CE, ChangedBehavior, BadPractices 1 1 Critical 14 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All, CI-checks, CE, ChangedBehavior 33 19 Major 33 %
Switch Fallthrough Inventory, Security, All, Stats, ChangedBehavior 2 2 Minor 39 %
foreach() On Object Analyze, All 80 43 Minor 0 %
Foreach Reference Is Not Modified Analyze, All, Simple, CI-checks, CE, ChangedBehavior 6 5 Minor 13 %
Global Usage Analyze, Appinfo, ClearPHP, All, CE, ChangedBehavior 6 1 Minor 26 %
Htmlentities Calls Analyze, All, Simple, CI-checks, CE, ChangedBehavior 11 5 Major 16 %
Htmlentities Using Default Flag Analyze, All, Simple, CI-checks, ChangedBehavior 11 5 Minor 0 %
Identical Consecutive Expression Analyze, All, ChangedBehavior 1 1 Minor 30 %
Identical Variables In Foreach Analyze, OneFile, All, ChangedBehavior 1 1 Minor 0 %
If With Same Conditions Analyze, All, Simple, CI-checks, CE, ChangedBehavior 6 6 Major 23 %
Iffectations Analyze, All, ChangedBehavior 182 81 Minor 53 %
Implied If Analyze, ClearPHP, All, Simple, Rector, CI-checks, CE, ChangedBehavior 51 12 Major 18 %
Implode() Arguments Order Analyze, All, CI-checks, CE, ChangedBehavior 6 4 Minor 0 %
Indices Are Int Or String Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 137 41 Major 58 %
Infinite Recursion Analyze, All, ChangedBehavior 9 8 Major 0 %
Invalid Cast Analyze, All, LintButWontExec, ChangedBehavior 1 1 Minor 0 %
Invalid Regex Analyze, All, CI-checks, CE, ChangedBehavior 3 2 Major 12 %
Is Actually Zero Analyze, All, Level 2, CI-checks, CE, ChangedBehavior 1 1 Minor 9 %
list() May Omit Variables Analyze, All, Simple, Suggestions, Level 3, CI-checks, CE 1 1 Minor 16 %
Logical Mistakes Analyze, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 1 1 Critical 10 %
Long Arguments Analyze, All, ChangedBehavior 11 9 Minor 51 %
Max Level Of Nesting Analyze, All, ChangedBehavior 28 23 Minor 0 %
Mbstring Unknown Encoding Analyze, All, CI-checks, CE, ChangedBehavior 4 3 Minor 0 %
Merge If Then Analyze, All, CI-checks, CE, ChangedBehavior 55 40 Minor 0 %
Could Merge Ternary Into Ifthen Analyze, All, ChangedBehavior 4 4 Minor 0 %
Mismatched Ternary Alternatives Analyze, All, Suggestions, Level 4, ChangedBehavior 15 12 Major 31 %
Missing Assignation In Branches Analyze, All, ChangedBehavior 232 107 Minor 0 %
Missing Cases In Switch Analyze, All, ChangedBehavior 7 5 Minor 15 %
Mixed Concat And Interpolation Analyze, Coding Conventions, All 15 8 Minor 23 %
Modernize Empty With Expression Analyze, OneFile, All, Simple, ChangedBehavior 17 11 Minor 33 %
Multiple Type Variable Analyze, All, Level 4, ChangedBehavior 44 28 Minor 29 %
Nested Ifthen Analyze, All, RadwellCodes, ChangedBehavior 93 53 Major 59 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 27 16 Major 27 %
No Append On Source Analyze, All, ChangedBehavior 1 1 Minor 0 %
Don't Change Incomings Analyze, All, ChangedBehavior 22 13 Minor 20 %
No Choice Analyze, All, Simple, Level 2, Top10, Rector, CI-checks, CE, ChangedBehavior 90 55 Major 39 %
No Direct Usage Of Returned Value Analyze, All, Simple, ChangedBehavior 2 2 Major 19 %
No Empty Path To File Analyze, All, CompatibilityPHP80 1 1 Minor 0 %
No Empty Regex Analyze, All, CI-checks, CE 2 1 Critical 5 %
No Hardcoded Hash Analyze, Security, All, Simple, ChangedBehavior 16 11 Critical 37 %
No isset() With empty() Analyze, PHP recommendations, OneFile, All, RadwellCodes, Simple, Level 4, CI-checks, CE, ChangedBehavior 2 1 Minor 13 %
No Need For Else Analyze, All, ChangedBehavior 7 5 Minor 41 %
No Need For Triple Equal Analyze, All, ChangedBehavior 41 24 Minor 0 %
No Null For Index Analyze, All, ChangedBehavior 69 26 Minor 0 %
Avoid Substr() One Analyze, Performances, CompatibilityPHP71, All, Simple, Suggestions, Level 2, Top10, CI-checks, CE, ChangedBehavior 1 1 Minor 42 %
Variable Is Not A Condition Analyze, All, ChangedBehavior 384 130 Minor 75 %
Non Integer Nor String As Index Analyze, All, ChangedBehavior 74 21 Minor 0 %
@ Operator Analyze, Appinfo, Performances, ClearPHP, All, CI-checks, CE, ChangedBehavior 57 30 Minor 48 %
Objects Don't Need References Analyze, OneFile, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE, ChangedBehavior 10 10 Minor 15 %
include_once() Usage Analyze, Appinfo, All, CE, ChangedBehavior 39 13 Minor 48 %
Several Instructions On The Same Line Analyze, All, ChangedBehavior 54 29 Major 25 %
PHP7 Dirname CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, Suggestions, php-cs-fixable, ChangedBehavior 29 13 Minor 44 %
Print And Die Analyze, All, Simple, CI-checks, CE, ChangedBehavior 2 1 Minor 12 %
Random Without Try Security, All, ChangedBehavior 16 12 Critical 30 %
Repeated print() Analyze, All, Simple, Suggestions, Level 3, Top10, CI-checks, CE, ChangedBehavior 76 74 Major 22 %
Repeated Regex Analyze, All, Level 1, CI-checks, CE, ChangedBehavior 45 24 Minor 29 %
Return True False Analyze, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 2 2 Major 17 %
Same Conditions In Condition Analyze, All, Simple, CI-checks, CE, ChangedBehavior 2 2 Critical 24 %
Should Chain Exception Analyze, All, Simple, CI-checks, CE, ChangedBehavior 4 4 Minor 22 %
Should Use Ternary Operator Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 100 50 Minor 58 %
Preprocessable Analyze, All, Rector, ChangedBehavior 521 208 Minor 74 %
Should Use Explode Args Analyze, All, CI-checks, CE, ChangedBehavior 1 1 Minor 0 %
Static Inclusions Analyze, All, ChangedBehavior 49 23 Minor 0 %
Static Loop Analyze, All, Simple, Level 4, ChangedBehavior 17 14 Minor 38 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE, ChangedBehavior 10 5 Major 25 %
Strpos() Less Than One Analyze, All, Surprising, ChangedBehavior 1 1 Minor 0 %
Suspicious Comparison Analyze, All, Level 3, ChangedBehavior 1 1 Major 25 %
Switch To Switch Analyze, All, RadwellCodes, Simple, ChangedBehavior 10 8 Minor 29 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks, CE, ChangedBehavior 23 17 Major 39 %
Test Then Cast Analyze, All, ChangedBehavior 3 3 Major 16 %
Timestamp Difference Analyze, All, Simple, Level 3, CI-checks, CE, ChangedBehavior 2 2 Major 27 %
Unchecked Resources Analyze, ClearPHP, All, Simple, Level 2, CI-checks, CE, ChangedBehavior 5 5 Major 23 %
Unconditional Break In Loop Analyze, All, Level 3, CI-checks, CE 16 15 Major 40 %
Unreachable Code Dead code, OneFile, ClearPHP, All, Simple, Suggestions, Level 3, Unused, ChangedBehavior 89 47 Major 61 %
Use Constant Instead Of Function Analyze, PHP recommendations, All, php-cs-fixable, CI-checks, CE, ChangedBehavior 2 2 Minor 19 %
Use Positive Condition Analyze, OneFile, All, Simple, ChangedBehavior 53 38 Minor 56 %
Use Same Types For Comparisons Analyze, All 6 4 Minor 0 %
Use Variable Created Inside Loop Dead code, All, ChangedBehavior 18 15 Minor 0 %
Useless Type Casting Analyze, PHP recommendations, OneFile, All, RadwellCodes, Simple, Level 4, CI-checks, CE, ChangedBehavior 37 29 Minor 35 %
Useless Coalesce Analyze, All, ChangedBehavior 9 5 Minor 0 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 118 71 Minor 54 %
Useless Null Coalesce Analyze, All, Typehints, ChangedBehavior 99 54 Minor 0 %
Useless Parenthesis Analyze, All, Simple, CI-checks, CE, ChangedBehavior 164 69 Minor 52 %
Useless Short Ternary Analyze, All, ChangedBehavior 5 2 Minor 0 %
var_dump()... Usage Analyze, Security, ClearPHP, All, CI-checks, CE, ChangedBehavior 22 15 Critical 19 %
Wrong Precedence In Expression Analyze, All, ChangedBehavior 3 3 Minor 0 %
Already Parents Trait Analyze, All 1 1 Minor 0 %
Cannot Call Static Trait Method Directly Analyze, All, CompatibilityPHP81, CompatibilityPHP82, ChangedBehavior 37 4 Minor 0 %
Dependant Trait Analyze, All, Level 3, ChangedBehavior 12 12 Minor 23 %
Trait Is Not A Type Analyze, All, ClassReview, Typehints 14 4 Minor 0 %
No Real Comparison Analyze, PHP recommendations, All, Simple, Level 2, Top10, CI-checks, CE, ChangedBehavior 5 3 Major 13 %
One Variable String Analyze, All, RadwellCodes, Simple, CI-checks, CE, ChangedBehavior 5 3 Minor 13 %
Should Typecast Analyze, OneFile, All, Simple, Rector, CI-checks, CE, ChangedBehavior 4 3 Minor 23 %
String May Hold A Variable Analyze, All, Simple, ChangedBehavior 45 26 Minor 38 %
Missing Some Returntype Analyze, All, Typehints, CI-checks, CE, ChangedBehavior 152 89 Minor 0 %
StandaloneType True False Null Analyze, Appcontent, All, ChangedBehavior 926 271 Minor 0 %
Wrong Type With Default Analyze, All, LintButWontExec, ClassReview, ChangedBehavior 26 21 Minor 0 %
Assigned Twice Analyze, All, ChangedBehavior 255 56 Minor 51 %
Overwritten Literals Analyze, All, ChangedBehavior 303 56 Major 51 %
Recycled Variables Analyze, All 8 3 Minor 0 %
Undefined Variable Analyze, All, CI-checks, CE, Undefined 1527 798 Minor 37 %
Used Once Variables Analyze, OneFile, All, Simple, Top10, ChangedBehavior 72 54 Minor 54 %
Used Once Variables (In Scope) Analyze, OneFile, ClearPHP, All, Simple, Level 4, CE, ChangedBehavior 1299 868 Minor 88 %
Written Only Variables Analyze, OneFile, All, Simple, Unused, ChangedBehavior 88 33 Minor 64 %