PHP Static analysis for CodeIgniter4

Label Recipes Issues Files Severity Frequence
Ambiguous Array Index Analyze, All, Simple, Level 2, Semantics, ChangedBehavior 28 16 Minor 10 %
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 33 %
Null Or Boolean Arrays Analyze, All 107 20 Minor 0 %
Randomly Sorted Arrays Analyze, All, Suggestions, Level 4 5 3 Minor 41 %
Too Many Array Dimensions Analyze, All 10 3 Minor 0 %
Weak Type With Array Analyze, All, ChangedBehavior 1515 198 Minor 0 %
Abstract Or Implements Analyze, All, LintButWontExec, ChangedBehavior 18 18 Major 24 %
Accessing Private Analyze, All, Simple, ChangedBehavior 2 2 Major 17 %
Access Protected Structures Analyze, All, Simple, ChangedBehavior 11 3 Major 17 %
Ambiguous Static Analyze, All, Semantics, ChangedBehavior 513 260 Minor 66 %
Ambiguous Visibilities Analyze, All, Semantics, ChangedBehavior 810 350 Minor 70 %
Anonymous Classes Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, CE, ChangedBehavior 1 1 Major 16 %
Avoid option arrays in constructors Analyze, All, ClassReview, ChangedBehavior 2 2 Minor 0 %
Avoid Optional Properties Analyze, All, ChangedBehavior 220 76 Major 84 %
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 6 4 Minor 33 %
Const Visibility Usage Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, All, ChangedBehavior 145 26 Minor 24 %
Could Be Abstract Class Analyze, All, ClassReview, ChangedBehavior 24 24 Minor 65 %
Class Could Be Final Analyze, All, ClassReview, ChangedBehavior 617 617 Minor 96 %
Method Could Be Static Analyze, All, ClassReview, ChangedBehavior 443 227 Minor 92 %
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 43 %
Don't Send $this In Constructor Analyze, All, ChangedBehavior 6 6 Minor 41 %
Don't Unset Properties Analyze, All, Top10, php-cs-fixable, CI-checks, CE, ChangedBehavior 6 3 Major 42 %
Empty Classes Analyze, All, Simple, ChangedBehavior 27 27 Minor 60 %
Implicit Nullable Type Analyze, All, ClassReview, ChangedBehavior 1 1 Minor 0 %
Incompatible Signature Methods With Covariance Analyze, All, ChangedBehavior 67 55 Critical 0 %
Inherited Property Type Must Match Analyze, All, LintButWontExec, ClassReview, ChangedBehavior 205 72 Minor 0 %
Locally Unused Property Dead code, All, Simple, Unused, ChangedBehavior 887 283 Minor 76 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2, ChangedBehavior 49 34 Minor 71 %
Method Signature Must Be Compatible Analyze, All, LintButWontExec, ChangedBehavior 170 94 Critical 53 %
Mismatch Properties Types Analyze, All, LintButWontExec, ClassReview, ChangedBehavior 156 54 Minor 0 %
Missing Abstract Method Analyze, All, ClassReview 2 2 Minor 0 %
Multiple Class Declarations Analyze, All, Simple, CI-checks, CE, ChangedBehavior 263 263 Major 29 %
New Object Then Immediate Call Analyze, All, ClassReview 73 63 Minor 0 %
self, parent, static Outside Class Analyze, All, LintButWontExec, ChangedBehavior 8 3 Major 8 %
No Public Access Analyze, All, ChangedBehavior 209 77 Minor 61 %
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 42 %
Non Static Methods Called In A Static Analyze, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, All, Simple, CI-checks, CE, ChangedBehavior 1 1 Minor 20 %
Parent First Analyze, All, Suggestions, ChangedBehavior 16 16 Minor 56 %
Parent Is Not Static Analyze, All, ClassReview, ChangedBehavior 1 1 Major 0 %
Property Could Be Local Analyze, All, ClassReview, ChangedBehavior 37 27 Minor 76 %
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 71 %
Property Used In One Method Only Analyze, All, ChangedBehavior 381 182 Minor 84 %
Parent, Static Or Self Outside Class Analyze, All, Simple, ChangedBehavior 5 2 Major 21 %
Readonly Property Compatibility Analyze, All, ClassReview 1 1 Major 0 %
Scalar Or Object Property Analyze, All 10 9 Minor 32 %
Could Use self Analyze, All, Simple, Suggestions, Level 3, ClassReview, ChangedBehavior 18 4 Minor 63 %
Should Use Local Class Analyze, ClearPHP, All, Simple, ChangedBehavior 458 193 Minor 95 %
Static Methods Called From Object Analyze, All, Simple, CI-checks, CE, ChangedBehavior 2 1 Minor 50 %
$this Belongs To Classes Or Traits Analyze, All, Simple, LintButWontExec, ChangedBehavior 217 120 Major 32 %
Too Many Dereferencing Analyze, All, ChangedBehavior 3 3 Minor 0 %
Undefined Classes Analyze, All, Stubs, Undefined 299 99 Major 91 %
Undefined Class Constants Analyze, All, LintButWontExec, CI-checks, CE, Stubs, ChangedBehavior, Undefined 16 6 Major 62 %
Undefined Parent Analyze, All, Simple, Undefined 1 1 Minor 45 %
Undefined Properties Analyze, ClearPHP, All, Simple, CI-checks, CE, CompatibilityPHP82, ChangedBehavior, Undefined 506 93 Major 61 %
Undefined static:: Or self:: Analyze, All, Simple, ChangedBehavior, Undefined 8 4 Minor 35 %
Undefined static ::class Analyze, All, CI-checks, CE, ChangedBehavior, Undefined 70 30 Major 36 %
Unfinished Object Analyze, All, ClassReview, ChangedBehavior 187 93 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 76 %
Unresolved Instanceof Analyze, Dead code, ClearPHP, All, Simple, Top10, ChangedBehavior 35 6 Major 48 %
Unused Classes Analyze, Dead code, All, Simple, Unused, ChangedBehavior 47 47 Major 67 %
Unused Class Constant Analyze, All, ClassReview, Unused, ChangedBehavior 66 3 Minor 0 %
Unused Methods Dead code, All, Simple, Unused, ChangedBehavior 1035 337 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 1935 518 Minor 0 %
Use ::Class Operator Analyze, Performances, All, Simple, CI-checks, CE, ChangedBehavior 29 26 Minor 71 %
Use Instanceof Analyze, All, Simple, CI-checks, CE, ChangedBehavior 49 24 Major 63 %
Used Once Property Analyze, All, ChangedBehavior 26 19 Minor 74 %
Useless Abstract Class Analyze, All, Simple, ChangedBehavior 1 1 Minor 33 %
Useless Constructor Analyze, All, Simple, Level 3, ChangedBehavior 3 3 Minor 41 %
Useless Method Analyze, All, ChangedBehavior 1 1 Minor 0 %
Weak Typing Analyze, All, ChangedBehavior 71 48 Minor 47 %
Wrong Typed Property Default Analyze, All, LintButWontExec, ClassReview, CI-checks, CE 51 36 Minor 0 %
Use const Analyze, Coding Conventions, All, Top10, CI-checks, CE 41 15 Minor 54 %
Constant Used Only Once Analyze, All, ChangedBehavior 29 13 Minor 0 %
Multiple Constant Definition Analyze, All, Simple, CI-checks, CE, ChangedBehavior 49 14 Minor 41 %
Undefined Constants stubs 41 6 Minor 71 %
Could Be A Constant All, Dump, ChangedBehavior 235 110 Minor 0 %
Can't Implement Throwable Analyze, All, LintButWontExec, ChangedBehavior 2 2 Minor 14 %
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 100 %
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 20 %
Multiple Exceptions Catch() Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, All, CE, ChangedBehavior 4 3 Major 10 %
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 84 %
Unthrown Exception Analyze, Dead code, ClearPHP, All, Simple, ChangedBehavior 28 28 Minor 45 %
Useless Try Analyze, All, ChangedBehavior 55 43 Minor 0 %
Missing Include Analyze, All, ChangedBehavior 31 8 Critical 65 %
Native Alias Functions Usage Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 1 1 Minor 20 %
Use Named Boolean In Argument Definition Analyze, All, ChangedBehavior 431 133 Minor 84 %
Cancelled Parameter Analyze, All, ChangedBehavior 3 3 Minor 0 %
Could Make A Function Analyze, All, Suggestions, ChangedBehavior 1307 289 Minor 66 %
Deep Definitions Analyze, Appinfo, All, Simple, CE, ChangedBehavior 12 6 Major 13 %
Don't Collect Void Analyze, All, ChangedBehavior 71 23 Minor 0 %
Empty Function Analyze, All, Simple, ChangedBehavior 177 96 Minor 74 %
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 70 %
Insufficient Type Analyze, All, Typechecks, ChangedBehavior 29 27 Major 43 %
Method Is Not An If Analyze, All 63 48 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 8 %
Mismatched Default Arguments Analyze, All, Typechecks, ChangedBehavior 230 50 Minor 80 %
Mismatched Type Analyze, All, Typechecks, ChangedBehavior 211 67 Major 66 %
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 34 %
Never Called Parameter Analyze, All, Suggestions, Rector, Unused 145 76 Minor 92 %
No Boolean As Default Analyze, All 348 121 Minor 84 %
No Default For Referenced Parameter Analyze, All, ChangedBehavior 3 3 Minor 0 %
No Return Used Analyze, All, Suggestions, Level 4, ChangedBehavior 133 59 Minor 69 %
Only Variable Passed By Reference Analyze, All, ChangedBehavior 4 4 Critical 43 %
Retyped Reference Analyze, All, Typehints, ChangedBehavior 1 1 Major 0 %
Should Use Existing Constants Analyze, All, Simple, ChangedBehavior 4 2 Minor 32 %
Too Many Local Variables Analyze, All 7 7 Minor 64 %
Type Must Be Returned Analyze, All, LintButWontExec, CI-checks, CE, ChangedBehavior 1 1 Major 22 %
Class-typed References Analyze, All, CI-checks, CE 7 7 Minor 37 %
Undefined Functions stubs 68 11 Major 68 %
Unused Parameter Analyze, All, Simple, Unused 89 48 Major 90 %
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 41 %
Use Constant As Arguments Analyze, All, Simple, CI-checks, CE, ChangedBehavior 1 1 Major 30 %
Useless Argument Analyze, All, ChangedBehavior 4 4 Minor 0 %
Useless Referenced Argument Analyze, All, ChangedBehavior 52 47 Minor 58 %
Useless Type Check Dead code, OneFile, All, ChangedBehavior 11 10 Minor 0 %
Uses Default Values Analyze, All, Simple, CI-checks, CE, ChangedBehavior 4800 818 Minor 98 %
Using Deprecated Method Analyze, All, Attributes 54 16 Minor 0 %
Methods Without Return Analyze, All 3 3 Minor 95 %
Wrong Argument Type Analyze, All, Typechecks, ChangedBehavior 51 37 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple, CI-checks, CE, Stubs, ChangedBehavior 160 93 Major 81 %
Wrong Type Returned Analyze, All, LintButWontExec, ClassReview, CI-checks, CE, ChangedBehavior 1179 288 Minor 0 %
Wrong Type With Call Analyze, All, Typechecks, CI-checks, CE, ChangedBehavior 766 242 Minor 0 %
Already Parents Interface Analyze, All, Suggestions, Level 3, ChangedBehavior 71 71 Minor 26 %
Forgotten Interface Analyze, All, ChangedBehavior 95 95 Minor 48 %
Empty Interfaces Analyze, All, Simple, ChangedBehavior 10 10 Minor 41 %
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 0 %
Undefined Interfaces Analyze, All, LintButWontExec, CI-checks, CE, ChangedBehavior, Undefined 67 15 Major 72 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks, ChangedBehavior 18 18 Minor 59 %
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 338 217 Minor 44 %
Should Make Alias Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 14 1 Minor 46 %
Unresolved Use Analyze, ClearPHP, All, Simple, ChangedBehavior 121 39 Major 69 %
Unused Use Dead code, ClearPHP, All, Simple, php-cs-fixable, Unused, ChangedBehavior 288 137 Major 60 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE, ChangedBehavior 20 13 Major 57 %
Logical To in_array() Analyze, All, Level 2, ChangedBehavior 45 30 Minor 67 %
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 74 %
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 59 %
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 23 %
Don't Pollute Global Space Analyze, All 287 63 Minor 0 %
Exit Without Argument Analyze, All, ChangedBehavior 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 24 %
Numeric Literal Separator Appinfo, All, CompatibilityPHP73, CE, ChangedBehavior 28 12 None 0 %
Wrong Parameter Type Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 169 61 Major 76 %
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 58 30 Major 17 %
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 43 %
Possible Missing Subpattern Analyze, All, Top10, CI-checks, CE, ChangedBehavior 8 7 Minor 45 %
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 Class In Global Analyze, All, CI-checks, CE, ChangedBehavior 207 45 Minor 77 %
No Null For Native PHP Functions Analyze, All, CompatibilityPHP81, Deprecated, ChangedBehavior 270 87 Minor 0 %
No Reference For Ternary Analyze, All, CI-checks, CE 1 1 Major 14 %
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 28 %
Php 8.0 Only TypeHints Appinfo, CompatibilityPHP56, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, CE, ChangedBehavior 111 57 Minor 0 %
Union Type Appinfo, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, CE, ChangedBehavior 47 18 Minor 0 %
Scalar Are Not Arrays Analyze, All, CompatibilityPHP74, CI-checks, CE, ChangedBehavior 78 14 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3, CI-checks, CE, ChangedBehavior 3 3 Major 71 %
Too Many Native Calls Analyze, All, ChangedBehavior 3 3 Minor 49 %
Trailing Comma In Calls Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CE, ChangedBehavior 390 129 Minor 1 %
Typed Property Usage Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CE, ChangedBehavior 1827 508 Minor 6 %
Unknown Pcre2 Option Analyze, All, CompatibilityPHP73, ChangedBehavior 4 2 Minor 17 %
Use Enum Case In Constant Expression Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, All, CompatibilityPHP73, CompatibilityPHP74, CompatibilityPHP80, CompatibilityPHP81, ChangedBehavior 2 1 Minor 0 %
Use Nullable Type Appinfo, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP53, CompatibilityPHP70, All, CE, ChangedBehavior 916 268 Major 90 %
Use PHP Object API Analyze, ClearPHP, All, Simple, CI-checks, CE, ChangedBehavior 3 2 Minor 27 %
Avoid Using stdClass Analyze, OneFile, All, Simple, Level 4 27 18 Minor 46 %
Wrong Type For Native PHP Function Analyze, All, CI-checks, CE, ChangedBehavior 438 133 Minor 0 %
Always Anchor Regex Security, All, ChangedBehavior 69 36 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 35 %
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 22 13 Major 28 %
Unserialize Second Arg Security, All, ChangedBehavior 5 5 Critical 50 %
Adding Zero Dump 2 1 Minor 69 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE 20 16 Major 56 %
Alternative Syntax Consistence Analyze, All, ChangedBehavior 2 1 Major 21 %
Comparison Is Always The Same Analyze, All, ChangedBehavior 154 82 Minor 0 %
Assign And Compare Analyze, All, CI-checks, CE 1 1 Minor 18 %
Bail Out Early Analyze, OneFile, All, Simple, Level 4, ChangedBehavior 166 101 Minor 64 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2, CI-checks, CE, ChangedBehavior 2 2 Minor 77 %
Buried Assignation Analyze, All, ChangedBehavior 211 87 Minor 84 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1, ChangedBehavior 4 3 Minor 56 %
Catch Overwrite Variable Analyze, ClearPHP, All, Simple, ChangedBehavior 2 2 Minor 25 %
Check All Types Analyze, All, ChangedBehavior 60 41 Major 69 %
Check Division By Zero Analyze, All, ChangedBehavior 23 10 Minor 0 %
Check JSON Analyze, All, CI-checks, CE 26 17 Major 65 %
Coalesce And Concat Analyze, All, CI-checks, CE, ChangedBehavior 3 3 Minor 0 %
Common Alternatives Analyze, All, Simple, ChangedBehavior 30 22 Major 80 %
Concat Empty String Analyze, OneFile, All 2 1 Minor 0 %
Could Be Else Analyze, All, ChangedBehavior 3 3 Minor 49 %
Could Use Short Assignation Analyze, Performances, OneFile, All, Simple, Rector, CI-checks, CE, ChangedBehavior 3 3 Minor 63 %
Count() Is Not Negative Analyze, All, ChangedBehavior 2 2 Minor 0 %
Dangling Array References Analyze, PHP recommendations, ClearPHP, All, Simple, Level 1, Top10, CI-checks, CE, ChangedBehavior 18 12 Major 46 %
Default Then Discard Analyze, All, ChangedBehavior, Readability 3 3 Minor 0 %
Don't Change The Blind Var Analyze, All, ChangedBehavior 78 51 Minor 73 %
Don't Mix ++ Analyze, All, ChangedBehavior 21 15 Minor 56 %
Don't Read And Write In One Expression Analyze, All, CompatibilityPHP73, CompatibilityPHP74, CE, ChangedBehavior 3 3 Critical 38 %
Don't Reuse Foreach Source Analyze, All, ChangedBehavior 31 23 Minor 0 %
Double Assignation Analyze, All, ChangedBehavior 59 56 Major 59 %
Double Checks Analyze, All, ChangedBehavior 118 32 Minor 0 %
Double Instructions Analyze, All, Simple, ChangedBehavior 8 7 Minor 57 %
Drop Else After Return Analyze, OneFile, All, Simple, Suggestions, Level 4, CI-checks, CE, ChangedBehavior 2 2 Minor 70 %
Echo With Concat Analyze, Performances, All, Simple, Suggestions, ChangedBehavior 29 18 Minor 60 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector, CI-checks, CE 3 3 Minor 66 %
Empty Blocks Analyze, All, Simple, CI-checks, CE, ChangedBehavior 44 31 Minor 51 %
Empty Json Error Analyze, All, ChangedBehavior 2 1 Minor 0 %
Empty Instructions Analyze, Dead code, All, Simple, ChangedBehavior 1 1 Minor 57 %
Empty Try Catch Analyze, All, Level 3 7 7 Minor 49 %
Eval() Usage Analyze, Appinfo, Security, Performances, PHP recommendations, OneFile, ClearPHP, All, Simple, CE, ChangedBehavior 2 2 Major 39 %
eval() Without Try Analyze, Security, All, Simple, Level 3, CI-checks, CE, ChangedBehavior 1 1 Critical 36 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All, CI-checks, CE, ChangedBehavior 33 19 Major 61 %
Switch Fallthrough Inventory, Security, All, Stats, ChangedBehavior 2 2 Minor 39 %
foreach() On Object Analyze, All 81 44 Minor 0 %
Foreach Reference Is Not Modified Analyze, All, Simple, CI-checks, CE, ChangedBehavior 6 5 Minor 24 %
Global Usage Analyze, Appinfo, ClearPHP, All, CE, ChangedBehavior 6 1 Minor 52 %
Htmlentities Calls Analyze, All, Simple, CI-checks, CE, ChangedBehavior 11 5 Major 40 %
Htmlentities Using Default Flag Analyze, All, Simple, CI-checks, ChangedBehavior 11 5 Minor 0 %
Identical Consecutive Expression Analyze, All, ChangedBehavior 1 1 Minor 59 %
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 47 %
Iffectations Analyze, All, ChangedBehavior 186 84 Minor 80 %
Implied If Analyze, ClearPHP, All, Simple, Rector, CI-checks, CE, ChangedBehavior 50 11 Major 33 %
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 20 %
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 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 1 1 Minor 37 %
Logical Mistakes Analyze, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 1 1 Critical 32 %
Long Arguments Analyze, All, ChangedBehavior 11 9 Minor 68 %
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 14 11 Major 64 %
Missing Assignation In Branches Analyze, All, ChangedBehavior 231 107 Minor 0 %
Missing Cases In Switch Analyze, All, ChangedBehavior 7 5 Minor 36 %
Mixed Concat And Interpolation Analyze, Coding Conventions, All 16 9 Minor 45 %
Modernize Empty With Expression Analyze, OneFile, All, Simple, ChangedBehavior 17 11 Minor 63 %
Multiple Type Variable Analyze, All, Level 4, ChangedBehavior 44 28 Minor 58 %
Nested Ifthen Analyze, All, RadwellCodes, ChangedBehavior 91 53 Major 84 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 27 16 Major 50 %
No Append On Source Analyze, All, ChangedBehavior 1 1 Minor 0 %
Don't Change Incomings Analyze, All, ChangedBehavior 22 13 Minor 44 %
No Choice Analyze, All, Simple, Level 2, Top10, Rector, CI-checks, CE, ChangedBehavior 88 53 Major 42 %
No Direct Usage Of Returned Value Analyze, All, Simple, ChangedBehavior 2 2 Major 39 %
No Empty Path To File Analyze, All, CompatibilityPHP80 1 1 Minor 0 %
No Empty Regex Analyze, All, CI-checks, CE 2 1 Critical 22 %
No Hardcoded Hash Analyze, Security, All, Simple, ChangedBehavior 16 11 Critical 45 %
No isset() With empty() Analyze, PHP recommendations, OneFile, All, RadwellCodes, Simple, Level 4, CI-checks, CE, ChangedBehavior 2 1 Minor 30 %
No Need For Else Analyze, All, ChangedBehavior 8 6 Minor 74 %
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 58 %
Variable Is Not A Condition Analyze, All, ChangedBehavior 383 128 Minor 93 %
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 65 %
Objects Don't Need References Analyze, OneFile, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE, ChangedBehavior 10 10 Minor 40 %
include_once() Usage Analyze, Appinfo, All, CE, ChangedBehavior 38 12 Minor 73 %
Several Instructions On The Same Line Analyze, All, ChangedBehavior 54 29 Major 56 %
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 32 %
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 50 %
Repeated Regex Analyze, All, Level 1, CI-checks, CE, ChangedBehavior 45 24 Minor 47 %
Return True False Analyze, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 2 2 Major 46 %
Same Conditions In Condition Analyze, All, Simple, CI-checks, CE, ChangedBehavior 2 2 Critical 55 %
Should Chain Exception Analyze, All, Simple, CI-checks, CE, ChangedBehavior 4 4 Minor 39 %
Should Use Ternary Operator Analyze, OneFile, All, Simple, CI-checks, CE, ChangedBehavior 100 50 Minor 86 %
Preprocessable Analyze, All, Rector, ChangedBehavior 521 208 Minor 85 %
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 16 13 Minor 67 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10, CI-checks, CE, ChangedBehavior 10 5 Major 54 %
Strpos() Less Than One Analyze, All, Surprising, ChangedBehavior 1 1 Minor 0 %
Suspicious Comparison Analyze, All, Level 3, ChangedBehavior 1 1 Major 39 %
Switch To Switch Analyze, All, RadwellCodes, Simple, ChangedBehavior 10 8 Minor 58 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks, CE, ChangedBehavior 24 17 Major 69 %
Test Then Cast Analyze, All, ChangedBehavior 3 3 Major 34 %
Timestamp Difference Analyze, All, Simple, Level 3, CI-checks, CE, ChangedBehavior 2 2 Major 49 %
Unchecked Resources Analyze, ClearPHP, All, Simple, Level 2, CI-checks, CE, ChangedBehavior 4 4 Major 50 %
Unconditional Break In Loop Analyze, All, Level 3, CI-checks, CE 15 14 Major 48 %
Unreachable Code Dead code, OneFile, ClearPHP, All, Simple, Suggestions, Level 3, Unused, ChangedBehavior 88 47 Major 61 %
Use Constant Instead Of Function Analyze, PHP recommendations, All, php-cs-fixable, CI-checks, CE, ChangedBehavior 2 2 Minor 61 %
Use Positive Condition Analyze, OneFile, All, Simple, ChangedBehavior 52 37 Minor 82 %
Use Same Types For Comparisons Analyze, All 6 4 Minor 0 %
Use Variable Created Inside Loop Dead code, All, ChangedBehavior 19 16 Minor 0 %
Useless Type Casting Analyze, PHP recommendations, OneFile, All, RadwellCodes, Simple, Level 4, CI-checks, CE, ChangedBehavior 37 29 Minor 47 %
Useless Coalesce Analyze, All, ChangedBehavior 9 5 Minor 0 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks, CE, ChangedBehavior 116 69 Minor 63 %
Useless Null Coalesce Analyze, All, Typehints, ChangedBehavior 101 56 Minor 0 %
Useless Parenthesis Analyze, All, Simple, CI-checks, CE, ChangedBehavior 164 68 Minor 81 %
Useless Short Ternary Analyze, All, ChangedBehavior 5 2 Minor 0 %
Useless Switch Analyze, All, Simple, ChangedBehavior 1 1 Major 32 %
var_dump()... Usage Analyze, Security, ClearPHP, All, CI-checks, CE, ChangedBehavior 20 14 Critical 42 %
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 28 %
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 26 %
One Variable String Analyze, All, RadwellCodes, Simple, CI-checks, CE, ChangedBehavior 5 3 Minor 33 %
Should Typecast Analyze, OneFile, All, Simple, Rector, CI-checks, CE, ChangedBehavior 4 3 Minor 49 %
String May Hold A Variable Analyze, All, Simple, ChangedBehavior 47 27 Minor 59 %
Missing Some Returntype Analyze, All, Typehints, CI-checks, CE, ChangedBehavior 151 89 Minor 0 %
StandaloneType True False Null Analyze, Appcontent, All, ChangedBehavior 919 270 Minor 0 %
Wrong Type With Default Analyze, All, LintButWontExec, ClassReview, ChangedBehavior 21 17 Minor 0 %
Assigned Twice Analyze, All, ChangedBehavior 258 57 Minor 79 %
Overwritten Literals Analyze, All, ChangedBehavior 307 57 Major 79 %
Recycled Variables Analyze, All 10 4 Minor 0 %
Undefined Variable Analyze, All, CI-checks, CE, Undefined 1527 798 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10, ChangedBehavior 72 54 Minor 74 %
Used Once Variables (In Scope) Analyze, OneFile, ClearPHP, All, Simple, Level 4, CE, ChangedBehavior 1300 869 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple, Unused, ChangedBehavior 88 33 Minor 87 %