General
- 'n' modifier can be replaced with non-capturing groups
Reports n PCRE modifier, that can be replaced with usage of non-capturing groups instead of capturing in regexp pattern.
- Argument with name identifier
Reports arguments with name identifiers.
- Argument without name identifier
Reports arguments without name identifiers.
- Array index is immediately rewritten
Reports the write expressions on array indexes which are immediately overwritten before being accessed.
- Class can't implement Traversable directly
Reports the classes that are implementing the Traversable interface alone, not as part of Iterator or IteratorAggregate interfaces.
- Class hierarchy checks
Checks the classes' hierarchy: abstract methods implementation, the compatibility of implementing/overriding methods with their declarations in parent classes, and properties' types redeclarations.
- Class static member accessed via instance
Reports references to static methods and fields via a class instance rather than the class itself.
- Curly brace access syntax usage
Reports the usages of curly brace syntax for accessing array elements and string offsets.
- Deprecated
Reports the usages of deprecated entities.
- Deprecated '${' string interpolation
Reports ${var} and ${expr} interpolations in strings.
- Deprecated 'Serializable' interface usage
Reports the usages of deprecated Serializable interface.
- Deprecated '__autoload()' function declaration
Reports the __autoload() function declarations.
- Deprecated 'assert()' function declaration
Reports the assert() function declarations.
- Deprecated 'implode/join' usage
Reports deprecated usage of the implode and join functions.
- Deprecated Standard Library call
Reports the calls to Standard PHP Library functions that are deprecated starting from PHP 8.1.
- Deprecated cast
Reports deprecated cast expressions: (unset) cast expressions, which are deprecated in PHP 7.2 and later.
- Deprecated partially supported callables
Reports deprecated usage of callables that are supported by call_user_func($callable), but not by $callable().
- Disabled extension stubs
Reports the usages of classes, functions, and constants, for which the stubs for the corresponding PHP interpreter extensions are disabled.
- Doctrine annotation can be replaced with attribute
Suggests replacing Doctrine annotations with attributes.
- Dynamic method called as static
Reports static calls to dynamic class methods.
- Element is not available in configured PHP version
Reports the usages of entities which were introduced in PHP version later than configured one.
- Ignored class alias declaration
Reports the class alias declarations that are ignored by the IDE because the actual class declaration with the same FQN exists.
- Incorrect magic method signature
Reports incompatible magic methods signatures.
- Invalid magic method modifiers
Reports the magic methods that are not declared as public or are declared as static.
- Language level
Reports the language features used in source code that are not supported for the selected language level.
- Member reference chain is too long to analyze
Reports method reference chains that are too long for IDE to analyze.
- Method declaration in parent class is incompatible with implemented interface
Reports the methods declarations in parent classes that are incompatible with implemented interfaces.
- Named argument may be unresolved
Reports the named arguments in method calls that might be unresolved depending on a specific class instance within the hierarchy.
- Nested ternary operator usage
Reports nested ternary expressions, which are deprecated starting from PHP 7.4.
- Overriding method/extending class marked as '@final'
Reports override of method or extending of class with @final in the PHPDoc.
- Parameter's name changed during inheritance
Reports the methods' parameters whose names differ from the same parameters defined in parent methods.
- Promoted property usage
Reports properties declared through promoted constructor parameters.
- Property can be 'readonly'
Reports the private promoted properties that are never written to.
- Property can be promoted
Reports the properties that can be replaced with promoted versions.
- Property is immediately rewritten
Reports the write expressions on properties which are immediately overwritten before being accessed.
- Second write to 'readonly' property
Reports reassignments of readonly properties.
- Static method called as dynamic
Reports dynamic calls to static class methods.
- Symfony annotation can be replaced with attribute
Suggests replacing Symfony annotations with attributes.
- Unpacking arrays with string keys is forbidden for PHP < 8.1
Reports array unpacking with string keys in PHP < 8.1 See Array unpacking with string keys for details.
- Unresolved include
Reports non-resolved include, include_once, require, and require_once expressions.
- Usage of internal entity
Reports the usages of the entities that are marked as @internal and are located in different source roots.
- Write access to 'readonly' property outside of declaration scope
Reports the write accesses to readonly properties that are made outside the declaration scope.