All is a dummy ruleset, which includes all the rules. It is mostly used internally.
Total : 1671 analysis
Adding Zero
Ambiguous Array Index
Array Index
Multidimensional Arrays
Multiple Index Definition
PHP Arrays Index
Class Usage
Classes Names
Constant Definition
Empty Classes
Magic Methods
Forgotten Visibility
Non Static Methods Called In A Static
Old Style Constructor
Property Names
Static Methods
Static Methods Called From Object
Static Properties
Constants With Strange Names
Constants Usage
Constants Names
True False Inconsistant Case
Magic Constant Usage
PHP Constant Usage
Caught Exceptions
Defined Exceptions
Thrown Exceptions
ext/apc
ext/bcmath
ext/bzip2
ext/calendar
ext/crypto
ext/ctype
ext/curl
ext/date
ext/dba
ext/dom
ext/enchant
ext/exif
ext/fileinfo
ext/filter
ext/ftp
ext/gd
ext/gmp
ext/gnupgp
ext/hash
ext/iconv
ext/json
ext/ldap
ext/libxml
ext/mbstring
ext/mcrypt
ext/mongo
ext/mssql
ext/mysql
ext/mysqli
ext/odbc
ext/openssl
ext/pcre
ext/pdo
ext/pgsql
ext/phar
ext/posix
ext/readline
ext/reflection
ext/sem
ext/session
ext/shmop
ext/simplexml
ext/snmp
ext/soap
ext/sockets
ext/spl
ext/sqlite
ext/sqlite3
ext/ssh2
ext/standard
ext/tidy
ext/tokenizer
ext/wddx
ext/xdebug
ext/xmlreader
ext/xmlrpc
ext/xmlwriter
ext/xsl
ext/yaml
ext/zip
ext/zlib
Closures Glossary
Empty Function
Function Called With Other Case Than Defined
Functions Glossary
Recursive Functions
Redeclared PHP Functions
Types
Unset Arguments
Methods Without Return
Empty Interfaces
Interfaces Usage
Interfaces Names
PHP Interfaces
Aliases
Namespaces Glossary
Autoloading
Use Lower Case For Parent, Static And Self
Goto Names
__halt_compiler
Incompilable Files
Labels
Functions Removed In PHP 5.4
Functions Removed In PHP 5.5
Throw
Trigger Errors
Caught Expressions
Break With 0
Break With Non Integer
Calltime Pass By Reference
error_reporting() With Integers
Eval() Usage
Exit() Usage
For Using Functioncall
Forgotten Whitespace
Iffectations
Multiply By One
@ Operator
Not Not
include_once() Usage
Phpinfo
No Plus One
Using Short Tags
Strpos()-like Comparison
Throws An Assignement
var_dump()… Usage
__toString() Throws Exception
Binary Glossary
Continents
Email Addresses
Heredoc Delimiter Glossary
Hexadecimal Glossary
Http Headers
HTTP Status Code
Malformed Octal
Md5 Strings
Mime Types
Nowdoc Delimiter Glossary
Octal Glossary
Perl Regex
Internet Ports
Special Integers
All strings
Unicode Blocks
URL List
Blind Variables
Interface Arguments
Variable References
Static Variables
Variables With Long Names
Non Ascii Variables
Variables With One Letter Names
PHP Variables
All Uppercase Variables
Used Once Variables
Variable Variables
Abstract Class Usage
Abstract Methods Usage
Clone Usage
Final Class Usage
Final Methods Usage
Bad Constants Names
Variable Constants
Empty Traits
Redefined PHP Traits
Traits Usage
Trait Names
PHP Alternative Syntax
Short Syntax For Arrays
Inclusions
ext/file
Unused Use
Use With Fully Qualified Name
Used Use
ext/array
ext/info
ext/math
$HTTP_RAW_POST_DATA Usage
Non-lowercase Keywords
New Functions In PHP 5.4
New Functions In PHP 5.5
Useless Instructions
Abstract Static Methods
Interface Methods
New Functions In PHP 5.6
Trait Methods
Invalid Constant Name
Multiple Constant Definition
Wrong Optional Parameter
Multiple Definition Of The Same Argument
Echo Or Print
Use === null
Constant Comparison
Fopen Binary Mode
Assertions
$this Is Not An Array
One Variable String
Cast Usage
Function Subscripting
Nested Loops
Closing Tags
PHP Echo Tag Usage
Static Methods Can’t Contain $this
Closure May Use $this
While(List() = Each())
Several Instructions On The Same Line
One Letter Functions
Multiples Identical Case
Switch Without Default
Function Subscripting, Old Style
Internally Used Properties
$this Belongs To Classes Or Traits
Nested Ternary
Switch With Too Many Default
Non-constant Index In Array
Undefined Constants
Custom Constant Usage
Instantiating Abstract Class
Classes Mutually Extending Each Other
Class, Interface, Enum Or Trait With Identical Names
Empty Try Catch
ext/pcntl
Undefined Classes
Is An Extension Class
Wrong Class Name Case
ext/redis
Is An Extension Function
Is An Extension Interface
Is An Extension Constant
Htmlentities Calls
Bracketless Blocks
Defined Class Constants
Undefined Class Constants
Unused Private Properties
Used Static Properties
Used Private Methods
Unused Private Methods
Unused Functions
Used Functions
Used Once Variables (In Scope)
Undefined Functions
Deprecated PHP Functions
crypt() Without Salt
mcrypt_create_iv() With Default Values
Dangling Array References
ext/sqlsrv
Queries In Loops
Var Keyword
Native Alias Functions Usage
Uses Default Values
Wrong Number Of Arguments
Hardcoded Passwords
Functions In Loop Calls
Unresolved Classes
Ellipsis Usage
Exponent Usage
** For Exponent
Constructors
Useless Constructor
Too Many Children
Implements Is For Interface
Use const
Unresolved Use
Conditional Structures
Unused Constants
Undefined Parent
Defined static:: Or self::
Undefined static:: Or self::
Accessing Private
Access Protected Structures
Parent, Static Or Self Outside Class
ext/0mq
ext/memcache
ext/memcached
Is Extension Trait
Dynamic Function Call
Has Variable Arguments
Multiple Catch With Try
Dynamically Called Classes
Conditioned Function
Conditioned Constants
Method Is A Generator
Try With Finally
Use password_hash()
Dereferencing String And Arrays
::class
Foreach With list()
Empty With Expression
list() May Omit Variables
Or Die
Constant Conditions
Use Const And Functions
Constant Scalar Expressions
Unusual Case For PHP Functions
Multiple Returns
Unreachable Code
Exit-like Methods
Written Only Variables
Must Return Methods
__debugInfo() Usage
Empty Instructions
Interpolation
Mixed Keys In Array
Empty Slots In Arrays
Wrong Number Of Arguments In Methods
Class Has Fluent Interface
Method Has Fluent Interface
Method Is Not For Fluent Interface
PHP Handlers Usage
ext/imagick
Unused Methods
Property Variable Confusion
ext/oci8
Used Methods
Overwritten Exceptions
Foreach Needs Reference Array
Foreach Reference Is Not Modified
ext/imap
Overwritten Class Constants
Direct Injection
Dynamic Class Constant
Dynamic Methodcall
Dynamic New
Dynamic Property
Don’t Change Incomings
Super Globals Contagion
Dynamic Classes
Return void
Compared Comparison
Useless Return
Multiple Classes In One File
File Uploads
Return With Parenthesis
Unused Classes
Used Classes
ext/intl
Dynamic Code
Unpreprocessed Values
ext/pspell
No Direct Access
ext/opcache
Is PHP Constant
Sensitive Argument
Functioncall Is Global
ext/expect
Defined Properties
Undefined Properties
Has Magic Method
ext/gettext
Short Open Tags
Strict Comparison With Booleans
Lone Blocks
$this Is Not For Static Methods
Avoid sleep()/usleep()
Argument Should Be Typed
Should Be Single Quote
Super Global Usage
Global Usage
PHP Keywords As Names
Logical Should Use Symbolic Operators
Could Use self
Implicit Global
Const With Array
Catch Overwrite Variable
Namespaces
Avoid array_unique()
Definitions Only
Deep Definitions
Constant Class
File Is Not Definitions Only
Global Code Only
Preprocess Arrays
Repeated print()
Avoid Parenthesis With Language Construct
Objects Don’t Need References
Redefined Property
Locally Unused Property
Locally Used Property
Lost References
Constants Created Outside Its Namespace
Fully Qualified Constants
Never Used Properties
Yoda Comparison
No Real Comparison
Sequences In For
Should Use Local Class
Use This
Usage Of class_alias()
Custom Class Usage
ext/apache
ext/eaccelerator
ext/fpm
parse_str() Warning
No Direct Call To Magic Method
String May Hold A Variable
Echo With Concat
Unused Global
Useless Global
Preprocessable
Slow Functions
Useless Final
Use Constant Instead Of Function
Resources Usage
Useless Unset
Buried Assignation
Duplicate Calls
No array_merge() In Loops
Useless Parenthesis
Shell Usage
File Usage
Mail Usage
Dynamic Calls
Unresolved Instanceof
Use PHP Object API
Unthrown Exception
Old Style __autoload()
Altering Foreach Without Reference
Test Class
Magic Visibility
Use Pathinfo
Should Use Existing Constants
Hash Algorithms
Avoid Those Hash Functions
ext/dio
No Parenthesis For Language Construct
Unused Label
No Hardcoded Path
Methodcall On New
No Hardcoded Port
ext/phalcon
Use Constant As Arguments
Implied If
Overwritten Literals
Assign Default To Properties
No Public Access
Composer Usage
Composer’s autoload
Should Chain Exception
Used Interfaces
Unused Interfaces
Useless Interfaces
Undefined Interfaces
ext/apcu
Double Instructions
Should Use Prepared Statement
Is Interface Method
Hash Algorithms Incompatible With PHP 5.3
Hash Algorithms Incompatible With PHP 5.4/5.5
Print And Die
Unchecked Resources
Class Const With Array
ext/trader
ext/mailparse
ext/mail
Unresolved Catch
No Hardcoded Ip
Variable Global
Else If Versus Elseif
Reserved Keywords In PHP 7
Unset In Foreach
Could Be Class Constant
Could Be A Static Variable
Multiple Class Declarations
Compare Hash
Empty Namespace
Could Use Short Assignation
Useless Abstract Class
Only Static Methods Class
Null On New
Scalar Type Usage
Return Type Usage
ext/ob
Global Import
Static Loop
Pre-increment
Only Variable Returned By Reference
ext/geoip
ext/event
ext/amqp
ext/gearman
ext/com
ext/gmagick
ext/ibase
ext/inotify
ext/xdiff
ext/ev
ext/php-ast
ext/xml
ext/xhprof
Indices Are Int Or String
Should Typecast
No Self Referencing Constant
No Direct Usage Of Returned Value
Break Outside Loop
Inconsistent Concatenation
Else Usage
One Object Operator Per Line
isset() With Constants
Avoid Substr() One
Global Inside Loop
Anonymous Classes
Is Global Constant
Coalesce
Double Assignation
Unicode Escape Syntax
New Functions In PHP 7.0
PHP 7.0 Removed Functions
PHP 7.0 New Classes
PHP 7.0 New Interfaces
Empty List
List With Array Appends
Simple Global Variable
Parenthesis As Parameter
Foreach Don’t Change Pointer
PHP5 Indirect Variable Expression
Php 7 Indirect Expression
Unicode Escape Partial
Define Constants With Array
PHP 7.0 Removed Directives
Directives Usage
Useless Brackets
preg_replace With Option e
eval() Without Try
Is Not Class Family
No List With String
Setlocale() Uses Constants
Global In Global
Usort Sorting In PHP 7.0
Hexadecimal In String
ext/fann
Relay Function
func_get_arg() Modified Behavior
Use Web
Use Cli
PHP Sapi
Register Globals
External Config Files
Avoid get_class()
Silently Cast Integer
Used Trait
Unused Traits
PHP7 Dirname
Error Messages
Timestamp Difference
Php7 Relaxed Keyword
Not Same Name As File
ext/pecl_http
Joining file()
Real Variables
Real Functions
Normal Methods
Unused Parameter
Uses Environment
Switch To Switch
Wrong Parameter Type
Property Could Be Private
Redefined Methods
Redefined Class Constants
File Is Component
Redefined Default
Wrong fopen() Mode
Unknown Directive Name
Confusing Names
Is CLI Script
PHP Bugfixes
preg_match_all() Flag
Safe Curl Options
Negative Power
Already Parents Interface
Use random_int()
Cant Use Return Value In Write Context
set_exception_handler() Warning
Can’t Extend Final Class
Ternary In Concat
Using $this Outside A Class
Simplify Regex
ext/tokyotyrant
ext/v8js
Yield Usage
Yield From Usage
Pear Usage
Undefined Trait
No Hardcoded Hash
Identical Conditions
Unkown Regex Options
Random Without Try
No Choice
Common Alternatives
Logical Mistakes
Exception Order
ext/lua
Uncaught Exceptions
Undefined Caught Exceptions
Same Conditions In Condition
Php 7.1 New Class
Return True False
GPRC Aliases
Indirect Injection
Useless Switch
Overwriting Variable
Could Use __DIR__
Should Use Coalesce
Make Global A Property
List With Keys
If With Same Conditions
ext/suhosin
Unserialize Second Arg
Throw Functioncall
Can’t Disable Function
Functions Using Reference
Use Instanceof
Make One Call With Array
Property Used Above
Property Used Below
List Short Syntax
Results May Be Missing
Use Nullable Type
Defined Parent MP
Globals
Always Positive Comparison
PHP 7.1 Removed Directives
New Functions In PHP 7.1
Multiple Exceptions Catch()
Is Upper Family
Empty Blocks
Throw In Destruct
Used Protected Method
Unused Protected Methods
Use System Tmp
Linux Only Files
No Count With 0
Dependant Trait
Hidden Use Expression
Could Use Alias
Should Make Alias
Multiple Identical Trait Or Interface
Multiple Alias Definitions
Nested Ifthen
Cast To Boolean
Failed Substr() Comparison
Should Use Ternary Operator
Unused Returned Value
Modernize Empty With Expression
Use Positive Condition
Drop Else After Return
Use ::Class Operator
ext/rar
Don’t Echo Error
Useless Type Casting
No isset() With empty()
time() Vs strtotime()
Useless Check Before Foreach
Unitialized Properties
More Than One Level Of Indentation
One Dot Or Object Operator Per Line
Bail Out Early
Die Exit Consistence
Array() / [ ] Consistence
PHP 7.1 Microseconds
Don’t Change The Blind Var
Getting Last Element
Rethrown Exceptions
Avoid Using stdClass
Invalid Octal In String
Avoid array_push()
ext/nsapi
ext/newt
ext/ncurses
Use Composer Lock
Too Many Local Variables
$GLOBALS Or global
Illegal Name For Method
Unset() Or (unset)
Close Tags Consistency
String
Class Should Be Final By Ocramius
ext/mongodb
Should Use Use Function
One Expression Brackets Consistency
Fetch One Row Format
No String With Append
Avoid glob() Usage
Avoid Large Array Assignation
Could Be Protected Property
Long Arguments
New On Functioncall Or Identifier
Assigned Twice
New Line Style
PHP 7.2 Deprecations
PHP 7.2 Removed Functions
Error_Log() Usage
Raised Access Level
No Boolean As Default
SQL queries
Strange Names In Classes
ext/libsodium
Class Function Confusion
Forgotten Thrown
Should Use array_column()
Multiple Alias Definitions Per File
__DIR__ Then Slash
self, parent, static Outside Class
Used Once Property
Property Used In One Method Only
ext/ds
No Need For Else
Should Use session_regenerateid()
Strange Name For Variables
Strange Name For Constants
Regex Delimiter
Could Be Typed Callable
Encoded Simple Letters
Too Many Finds
Use Cookies
Should Use SetCookie()
Set Cookie Safe Arguments
Check All Types
Missing Cases In Switch
New Functions In PHP 7.2
New Constants In PHP 7.2
Group Use Declaration
Method Is Overwritten
Displays Text
Repeated Regex
No Class In Global
Crc32() Might Be Negative
Could Use str_repeat()
Suspicious Comparison
Empty Final Element In Array
Strings With Strange Space
Difference Consistence
No Empty Regex
Alternative Syntax Consistence
Randomly Sorted Arrays
ext/sphinx
Try With Multiple Catch
ext/grpc
Only Variable Passed By Reference
No Return Used
Use Browscap
Use Debug
No Class As Type
No Reference On Left Side
Implemented Methods Must Be Public
Could Type
PSR-16 Usage
PSR-7 Usage
PSR-6 Usage
PSR-3 Usage
PSR-11 Usage
PSR-13 Usage
Mixed Concat And Interpolation
ext/stats
DI Cyclic Dependencies
Concatenation Interpolation Consistence
New Functions In PHP 7.3
Too Many Injections
Dependency Injection
Courier Anti-Pattern
ext/gender
ext/judy
Could Make A Function
Forgotten Interface
Order Of Declaration
Yii usage
Codeigniter usage
Laravel usage
Symfony usage
Wordpress usage
Use session_start() Options
Cant Inherit Abstract Method
Joomla usage
Non Breakable Space In Names
Multiple Functions Declarations
Avoid Optional Properties
Heredoc Delimiter
Swoole
Manipulates NaN
Manipulates INF
No Return Or Throw In Finally
Const Or Define
Mkdir Default
strict_types Preference
Declare strict_types Usage
Encoding Usage
Ticks Usage
Mismatched Ternary Alternatives
Mismatched Default Arguments
Mismatched Type
Scalar Or Object Property
Group Use Trailing Comma
Assign And Lettered Logical Operator Precedence
Logical Operators Favorite
Isset Multiple Arguments
No Magic Method With Array
PHP 7.2 Object Keyword
Child Class Removes Type
ext/xattr
Avoid Concat In Loop
Optional Parameter
No Substr Minus One
Logical To in_array()
Should Use Foreach
ext/rdkafka
ext/fam
Shell Favorite
Constant Used Below
Could Be Private Class Constant
Could Be Protected Class Constant
Method Used Below
Method Could Be Private Method
Could Be Protected Method
Pathinfo() Returns May Vary
Use pathinfo() Arguments
ext/parle
Regex Inventory
Switch Fallthrough
Upload Filename Injection
Always Anchor Regex
Multiple Type Variable
Is Actually Zero
Unconditional Break In Loop
Session Lazy Write
Session Variables
Incoming Variables
Cookies Variables
Too Complex Expression
Date Formats
Is A Magic Property
Could Be Else
Simple Switch And Match
Next Month Trap
Printf Number Of Arguments
Substring First
Drupal Usage
Ambiguous Static
Phalcon Usage
Fuel PHP Usage
Use List With Foreach
Don’t Send $this In Constructor
Argon2 Usage
Crypto Usage
Integer As Property
No get_class() With Null
Php 7.2 New Class
Avoid set_error_handler $context Argument
Hash Will Use Objects
Can’t Count Non-Countable
Maybe Missing New
Unknown Pcre2 Option
Use PHP7 Encapsed Strings
Type Array Index
Incoming Variable Index Inventory
Slice Arrays First
ext/vips
Dl() Usage
Parent First
Environment Variables
Invalid Regex
Assigned In One Branch
Use Named Boolean In Argument Definition
Same Variable Foreach
Never Called Parameter
ext/igbinary
Should Use array_filter()
Not A Scalar Type
Mistaken Concatenation
Identical On Both Sides
Identical Consecutive Expression
No Reference For Ternary
Sqlite3 Requires Single Quotes
No Net For Xml Load
Unused Inherited Variable In Closure
Missing Include
Local Globals
Useless Referenced Argument
Fallback Function
Reuse Existing Variable
Double array_flip()
Useless Catch
Find Key Directly
Possible Infinite Loop
Should Use Math
ext/hrtime
List With Reference
Test Then Cast
Could Use Compact
Foreach On Object
ext/xxtea
ext/uopz
ext/varnish
ext/opencensus
Dynamic Library Loading
PHP 7.3 Last Empty Argument
Could Use array_fill_keys
ext/leveldb
Use Recursive count()
Property Could Be Local
ext/db2
Mass Creation Of Arrays
Too Many Native Calls
Too Many Parameters
Should Preprocess Chr()
Properties Declaration Consistence
Possible Increment
Drop Substr Last Arg
Redefined Private Property
Don’t Unset Properties
Strtr Arguments
Processing Collector
Missing Parenthesis
One If Is Sufficient
Could Use array_unique
Callback Function Needs Return
Unreadable Interval Check
ext/zookeeper
ext/cmark
Failing Analysis
Can’t Instantiate Class
strpos() Too Much
Class-typed References
Do In Base
Weak Typing
Cache Variable Outside Loop
Use The Blind Var
Configure Extract
Nonexistent Variable In compact()
Method Signature Must Be Compatible
Mismatch Type And Default
Flexible Heredoc
Check JSON
Const Visibility Usage
Should Use Operator
Single Use Variables
Strict Or Relaxed Comparison
Comparisons Orientation
Compared But Not Assigned Strings
Could Be Static Closure
move_uploaded_file Instead Of copy
Don’t Mix ++
Can’t Implement Throwable
Abstract Or Implements
ext/eio
Incompatible Signature Methods
Ambiguous Visibilities
Hash Algorithms Incompatible With PHP 7.1-
Undefined static ::class
PHP 7.0 Scalar Types
PHP 7.1 Scalar Types
PHP 7.2 Scalar Types
Locally Used Property In Trait
ext/lzf
ext/msgpack
Case Insensitive Constants
Handle Arrays With Callback
Use is_countable
Detect Current Class
Avoid Real
Const Or Define Preference
Constant Case Preference
Assert Function Is Reserved
Could Be Abstract Class
Continue Is For Loop
PHP 7.3 Removed Functions
Trailing Comma In Calls
Must Call Parent Constructor
Undefined Variable
Undefined Insteadof
Method Collision Traits
Use json_decode() Options
Class Could Be Final
Closure Could Be A Callback
Inconsistent Elseif
Can’t Disable Class
ext/seaslog
Add Default Value
Only Variable For Reference
Direct Call To __clone()
filter_input() As A Source
Wrong Access Style to Property
Named Regex
Invalid Pack Format
No Return For Generator
Repeated Interface
No Reference For Static Property
Don’t Read And Write In One Expression
Pack Format Inventory
Printf Format Inventory
idn_to_ascii() New Default
Could Use Try
Use Basename Suffix
PHP Exception
ext/decimal
ext/psr
Should Yield With Key
Don’t Loop On Yield
Declare Global Early
Unreachable Class Constant
Avoid Self In Interface
Should Have Destructor
Safe HTTP Headers
fputcsv() In Loops
Directly Use File
Useless Method Alias
ext/sdl
Isset() On The Whole Array
ext/wasm
Self Using Trait
Multiple Usage Of Same Trait
Method Could Be Static
Multiple Identical Closure
Path lists
Possible Missing Subpattern
array_key_exists() Speedup
Assign And Compare
Typed Property Usage
Don’t Be Too Manual
Variable Is Not A Condition
Array With String Initialization
ext/weakref
ext/pcov
Insufficient Type
Bad Type Relay
Constant Dynamic Creation
PHP 8.0 Removed Functions
PHP 8.0 Removed Constants
Law of Demeter
An OOP Factory
Type Must Be Returned
Inconsistent Variable Usage
Should Deep Clone
Clone With Non-Object
Self-Transforming Variables
Check On __Call Usage
PHP Overridden Function
Caught Variable
Multiple Unset()
Implode One Arg
Insecure Integer Validation
Incoming Values
ext/svm
Useless Default Argument
Avoid option arrays in constructors
ext/ffi
ext/password
ext/zend_monitor
ext/uuid
Already Parents Trait
Trait Not Found
Casting Ternary
Concat Empty String
Concat And Addition
Useless Argument
New Functions In PHP 7.4
Unpacking Inside Arrays
Minus One On Error
No Need For get_class()
Identical Methods
No Append On Source
Autoappend
Memoize MagicCall
Make Magic Concrete
Substr To Trim
Regex On Arrays
Always Use Function With array_key_exists()
Complex Dynamic Names
curl_version() Has No Argument
Php 7.4 New Classes
New Constants In PHP 7.4
Unused Class Constant
Could Be Constant
Could Use Trait
Infinite Recursion
Null Or Boolean Arrays
Dependant Abstract Classes
Wrong Type Returned
Generator Cannot Return
Methods That Should Not Be Used
Use DateTimeImmutable Class
Set Aside Code
Use Array Functions
Useless Type Check
Disconnected Classes
Not Or Tilde
Overwritten Source And Value
Avoid mb_dectect_encoding()
PHP 7.4 Removed Functions
mb_strrpos() Third Argument
array_key_exists() Works On Arrays
Reflection Export() Is Deprecated
Unbinding Closures
Numeric Literal Separator
Class Without Parent
Serialize Magic Method
Scalar Are Not Arrays
Similar Integers
Php Native Reference Variable
Create Compact Variables
Propagate Constants
PHP 7.4 Reserved Keyword
No ENT_IGNORE
Curly-Bracketed Arrays Are Not Supported
Overwritten Properties
Overwritten Methods
Overwritten Constant
Set Clone Link
Create Magic Property
Set Parent Definition
Make Class Method Definition
Create Default Values
array_merge() And Variadic
Set class_alias() Definition
Makes Class Constant Definition
Set Class Remote Definition With Injection
Solve Trait Methods
Follow Closure Definition
PHP 7.4 Constant Deprecation
Implode() Arguments Order
PHP 7.4 Removed Directives
Hash Algorithms Incompatible With PHP 7.4-
openssl_random_pseudo_byte() Second Argument
strip_tags() Skips Closed Tag
No Spread For Hash
Use Covariance
Use Contravariance
Set Class Remote Definition With Return Type
Set Class Remote Definition With Local New
Set Class Remote Definition With Type
Set Class Remote Definition With Global
Set Class Remote Definition With Parenthesis
Set Class Property Definition With Type
Set Array Class Definition
Set Class Method Remote Definition
Use Arrow Functions
Max Level Of Nesting
Environment Variable Usage
Indentation Levels
Spread Operator For Array
Nested Ternary Without Parenthesis
Cyclomatic Complexity
Should Use Explode Args
Use array_slice()
PHP 74 New Directives
Too Many Array Dimensions
Coalesce And Concat
Comparison Is Always The Same
Incompatible Signature Methods With Covariance
Interfaces Is Not Implemented
No Literal For Reference
Magic Properties
Interfaces Don’t Ensure Properties
Collect Literals
Duplicate Literal
No Weak SSL Crypto
Internet Domains
No mb_substr In Loop
Collect Parameter Counts
Collect Local Variable Counts
Non Nullable Getters
Use The Case Value
Dereferencing Levels
Too Many Dereferencing
Should Use Url Query Functions
Make Functioncall With Reference
Foreach() Favorite
Can’t Implement Traversable
Parameter Hiding
Wrong Function Name Case
Is_A() With String
Mbstring Unknown Encoding
Collect Mbstring Encodings
Weird Array Index
Filter To add_slashes()
Mbstring Third Arg
Typehinting Stats
Typo 3 usage
Concrete5 usage
Wrong Case Namespaces
Create Foreach Default
Immutable Signature
Merge If Then
Wrong Type With Call
Could Type With Int
Could Type With String
Could Type With Array
Could Type With Boolean
Shell commands
Could Type With Iterable
Insufficient Property Type
Typehint Order
New Order
Wrong Typed Name
Links Between Parameter And Argument
Exceeding Type
Nullable Without Check
Collect Class Interface Counts
Collect Class Depth
Collect Class Children Count
Semantic Typing
Missing Type
Fossilized Method
Not Equal Is Not !==
Coalesce Equal
Possible Interfaces
Constant Order
Php 8.0 Variable Syntax Tweaks
New Functions In PHP 8.0
Don’t Collect Void
Php 8.0 Only TypeHints
Union Type
Uninitialized Property
Wrong Typed Property Default
Signature Trailing Comma
Implicit Nullable Type
Fn Argument Variable Confusion
Missing Abstract Method
Throw Was An Expression
OpenSSL Ciphers Used
Unused Trait In Class
Keep Files Access Restricted
Check Crypto Key Length
Undefined Constant Name
Dynamic Self Calls
Prefix And Suffixes With Type
Using Deprecated Method
Too Long A Block
Static Global Variables Confusion
Possible Alias Confusion
Collect Property Counts
Collect Method Counts
Collect Class Constant Counts
Too Much Indented
Safe Phpvariables
Could Be String
Could Be Boolean
Could Be Void
Extended Types
Could Be Array Type
Could Be CIT
Protocol lists
Cyclic References
Double Object Assignation
Could Not Type
Could Be Callable
Wrong Argument Type
Type Could Be Integer
Call Order
Could Be Null
Typehint Could Be Iterable
Uses PHP 8 Match()
Could Be Float
Mismatch Properties Types
Could Be Self
Could Be Parent
Collect Parameter Names
No Need For Triple Equal
Array_merge Needs Array Of Arrays
Avoid Compare Typed Boolean
Abstract Away
Wrong Type For Native PHP Function
Large Try Block
Catch With Undefined Variable
Swapped Arguments
Fossilized Methods List
GLOB_BRACE Usage
Iconv With Translit
Collect Static Class Changes
Different Argument Counts
Use PHP Attributes
Use NullSafe Operator
Use Closure Trailing Comma
Unknown Parameter Name
Missing Some Returntype
Don’t Pollute Global Space
Collects Variables
Could Be Parent Method
Collect Global Variables
Collect Readability
Collect Definitions Statistics
Collect Class Traits Counts
Collect Native Calls Per Expressions
Cancel Common Method
Function With Dynamic Code
Cast (unset) Usage
$php_errormsg Usage
Mismatch Parameter Name
Multiple Declaration Of Strict_types
Collect Files Dependencies
Collect Atom Counts
Collect Classes Dependencies
Collect Php Structures
Mismatch Parameter And Type
Array_Fill() With Objects
Modified Typed Parameter
Assumptions
Collect Use Counts
Useless Type
PHP 8.0 Removed Directives
Unsupported Types With Operators
Negative Start Index In Array
Php Ext Stub Property And Method
Optimize Explode()
Could Use Promoted Properties
Could Be Stringable
Use get_debug_type()
Collect Block Size
Use str_contains()
PHP 8.0 Resources Turned Into Objects
PHP 80 Named Parameter Variadic
Unused Exception Variable
Wrong Attribute Configuration
Cancelled Parameter
Constant Typo Looks Like A Variable
Final Private Methods
Array_Map() Passes By Value
Missing __isset() Method
Searching For Multiple Keys
Long Preparation For Throw
Modify Immutable
Reserved Match Keyword
No Static Variable In A Method
Declare Static Once
Avoid get_object_vars()
Could Use Match
Cannot Use Static For Closure
Multiple Property Declaration On One Line
Could Be Generator
Only First Byte Will Be Assigned
Restrict Global Usage
Inherited Property Type Must Match
No Object As Index
Class Overreach
Inherited Static Variable
Enum Usage
PHP 8.1 Removed Directives
Htmlentities Using Default Flag
Openssl Encrypt Default Algorithm Change
PHP 8.1 Removed Constants
Wrong Argument Name With PHP Function
Duplicate Named Parameter
PHP Native Class Type Compatibility
Missing Attribute Attribute
$_FILES New Entry ‘full_path’
No Null For Native PHP Functions
Calling Static Trait Method
No Referenced Void
PHP Native Interfaces and Return Type
Final Constant
Never Type Usage
PHP 8.1 Types
PHP 8.0 Types
Named Parameter Usage
First Class Callable
New Functions In PHP 8.1
PHP 8.1 Removed Functions
Never Keyword
The Mixed Keyword
Mixed Type Usage
False To Array Conversion
Float Conversion As Index
Cannot Call Static Trait Method Directly
Nested Attributes
New Initializers
Deprecated Callable
Promoted Properties
Overwritten Foreach Var
Null Type Favorite
Checks Property Existence
Variable And Property Type
Extends stdClass
Scope Resolution Operator
Could Use Null-Safe Object Operator
Can’t Overload Constants
Variable Is A Local Constant
This Could Be Iterable
Intersection Type
Abstract Class Constants
Recycled Variables
Check Division By Zero
Getter And Setter
Multiple Similar Calls
Could Be Ternary
Use File Append
Readonly Usage
Missing Visibility
Could Use Existing Constant
Don’t Reuse Foreach Source
Collect Dependency Extension
Public Reach To Private Methods
Unreachable Method
Static Call May Be Truly Static
Could Use array_sum()
Undefined Methods
Is Stub Structure
Is PHP Structure
Is Extension Structure
Unfinished Object
Use class_alias()
Undefined Enumcase
Too Many Stringed Elseif
Missing Type In Definition
Identical Elseif
Simplify Foreach
Use Variable Created Inside Loop
String Interpolation Favorite
Type Could Be Never
Don’t Add Seconds
Use Constants As Returns
Identical Variables In Foreach
Can’t Overwrite Final Constant
String Int Comparison
Add Return Type
ext/protobuf
Constant : With Or Without Use
No Constructor In Interface
Could Be A Constant
Create Magic Method
Unsupported Operand Types
array_merge With Ellipsis
Is Library
version_compare() Operator
PHP 8.1 Resources Turned Into Objects
Do Not Cast To Int
Windows Only Constants
Could Be Spaceship
Sylius usage
Dollar Curly Interpolation Is Deprecated
Unused Enumeration Case
Useless Null Coalesce
Throw Raw Exceptions
Extensions yar
Collect Stub Structures
Lowered Access Level
Can’t Overwrite Final Method
Implicit Conversion To Int
Excimer
Use Same Types For Comparisons
Used Once Trait
Make All Statics
Wrong Locale
ext/pkcs11
ext/spx
Parent Is Not Static
No Magic Method For Enum
No Readonly Assignation In Global
Stomp
ext/CSV
Could Set Property Default
Identity
Overload Existing Names
Incoming Date Formats
Collect Vendor Structures
Array Addition
Retyped Reference
Could Be Enumeration
Wrong Type With Default
Ice framework
Extensions/Exttaint
Sprintf Format Compilation
Invalid Date Scanning Format
Same Name For Property And Method
No Private Abstract Method In Trait
Utf8 Encode And Decode Are Deprecated
Magic Method Returntype Is Restricted
If Then Return Favorite
Typehints/CouldBeResource
DateTimeImmutable Is Not Immutable
New Functions In PHP 8.2
Empty Array Detection
Strict In_Array() Preference
No Default For Referenced Parameter
Clone Constant
Enum Case Values
Random extension
Ip
Could Inject Parameter
ext/scrypt
ext/teds
Geospatial
Feast usage
date() versus DateTime Preference
Unused Public Methods
Could Be Abstract Method
Solve Trait Constants
No Keyword In Namespace
Ambiguous Types With Variables
Set Chaining Exception
Could Use Class Operator
Mbstring Unknown Encodings
Named Arguments And Variadic
Coalesce And Ternary Operators Order
Useless Assignation Of Promoted Property
Method Property Confusion
Could Use Namespace Magic Constant
Incompatible Types With Incoming Values
Method Usage
Too Many Chained Calls
Empty Loop
Too Many Extractions
No Variable Needed
Possible TypeError
Json_encode() Without Catching Exceptions
No Initial S In Variable Names
Collect Calls
Set Method Fnp
Type Dodging
Skip Empty Array When Merging
Useless Method
Weak Type With Array
Class Could Be Readonly
Multiple Type Cases In Switch
Class Invasion
Property Invasion
Filter Not Raw
Collect SetLocale
Plus Plus Used On Strings
No Max On Empty Array
No Empty String With explode()
Array Access On Literal Array
Double Checks
strpos() With Integers
Unvalidated Data Cached In Session
Ellipsis Merge
Superglobals
New Functions In PHP 8.3
Use str_ends_with()
Use str_starts_with()
Missing Assignation In Branches
Mono Or Multibytes Favorite
Argument Counts Per Calls
Global Definitions
Short Ternary
Deprecated Mb_string Encodings
Pre-Calculate Use
No A Valid Cast
Init Then Update
Different Constructors
Sidelined Method
Misused Yield
Substr() In Loops
Should Cache Local
Php 8.3 New Classes
Rewrote Final Class Constant
Useless Constant Overwrite
Blind Variable Used Beyond Loop
Recalled Condition
Incompatible Property Between Class And Trait
Collect Methods Throwing Exceptions
Static Call With Self
Use DNF
Collect Throw Calls
Collect Compared Literals
Could Be array_combine()
Comparison On Different Types
No Null For Index
Collects Names
Useless Try
Converted Exceptions
Method Is Not An If
Default Then Discard
Class Injection Count
Collect Property Usage
Collect Structures
Collect Catch Calls
Identical Case In Switch
StandaloneType True False Null
Constants In Traits
Short Or Complete Comparison
Could Use Yield From
Use Enum Case In Constant Expression
Readonly Property Changed By Cloning
New Dynamic Class Constant Syntax
class_alias() Supports Internal Classes
Redeclared Static Variable
Static Variable Can Default To Arbitrary Expression
Inherited Class Constant Visibility
Final Traits Are Final
Multiline Expressions
Typed Class Constants Usage
Favorite Casting Method
get_class() Without Argument
Append And Assign Arrays
Property Cannot Be Readonly
Static Variable Initialisation
Collect Graph Triplets
Static Variable In Namespace
Using Deprecated Feature
Override Attribute
Don’t Use The Type As Variable Name
Static Methods Cannot Call Non-Static Methods
Untyped No Default Properties
Trait Is Not A Type
Cannot Use Append For Reading
Friend Attribute
Count() To Array Append
Useless Trailing Comma
Reserved Methods
Void Is Not A Reference
Can’t Call Generator
Non Integer Nor String As Index
Cant Instantiate Non Class
PHP Native Attributes
Injectable Version
Multiple Property Declaration
is_a() Versus instanceof
Could Cast To Array
Check After Null Safe Operator
No Null With Null Safe Operator
Invalid Cast
Could Use strcontains()
Could Drop Variable
Could Be Readonly Property
New Object Then Immediate Call
Try Without Catch
Wrong Precedence In Expression
Property Export
File_Put_Contents Using Array Argument
Useless NullSafe Operator
Nested Match
Useless Short Ternary
Combined Calls
Empty Json Error
Useless Coalesce
Count() Is Not Negative
Exit Without Argument
PHP 8.2 New Types
Variable Parameter Ambiguity In Arrow Function
Strpos() Less Than One
Include Variables
No Named Parameters
Static Inclusions
Deprecated Attribute
Constant Used Only Once
Relay Constant
Useless Override Attribute
Missing Overriden Method
Neos
Cakephp
Remove Parameter With Named Parameters
Could Merge Ternary Into Ifthen
Has Property Hook
Anonymous Catch
Duplicate Enum Case Value
New Functions In PHP 8.4
Has Virtual Property
foreach() On Object
MustUseResult
Must Use Result, So It Returns
New Without Parenthesis
Has Asymmetric Visibility
trigger_error() With USER_ERROR
Negative Offset On String
Closure In Constant
array_merge() With One Arg
Array With String Ellipsis
Variadic And func_get_arg()
Private Set Visibility Makes Property Final
Use dirname()
Static Method Compatibility
Readonly Property Compatibility
::class Operator On Object
Short name
All
Available in
Entreprise Edition, Exakat Cloud
GETTING STARTED
USER GUIDE
REFERENCE GUIDE
ADMINISTRATOR GUIDE
OTHERS