Type compatibility
- 'null' is not compatible with parameter's declared type
Reports the variables that are initialised via passing them by reference to a parameter incompatible with null.
- Arithmetic operation with unsupported operands
Reports arithmetic and bitwise expressions with unsupported operands.
- Array offset access on illegal type
Reports the array offset access expressions that are used on illegal types.
- Class constant type is missing
In PHP 8.3 and later, reports a class constant that is missing a type declaration.
- Illegal array key type
Reports the array keys that are of illegal type, such as objects or arrays.
- Illegal string offset
Reports the usages of non-integer offsets in string access expressions such as $str[42].
- Incompatible return type
Reports the return statements whose return value type is not compatible with the one declared for a function/method.
- Invalid argument supplied for 'foreach()'
Reports the foreach constructs used on variables of the string, float, int, or boolean type.
- Missing parameter's type declaration
Reports the parameters that have no type declaration specified.
- Missing property's type declaration
Reports the properties that have no type declaration.
- Missing return type declaration
Reports the functions that have no return type declaration specified.
- Missing strict types declaration
Detects the missing declare(strict_types=1) directive in the file.
- Parameter type
Reports the parameters passed to a function call, whose types do not match the ones specified in the function definition via type declaration or the PHPDoc @param tag.
- Redundant intersection type
Reports the intersection type declarations that contain redundant types, for example, an intersection type that contains both the parent class and its subclass.
- Strict type checking rules violation
Reports violations of the strict type checking rules.
- Type declaration is redundant and could be simplified
Reports union type declarations that contain redundant types, for example, a union type that contains both the class alias and the original class.
- Type mismatch in property assignment
Reports type violations in properties assignments.