Inspectopedia 2025.1 Help

General

'final' modifier is redundant, property with private 'set' visibility is implicitly final  

Reports a redundant final modifier used for the private(set) property.

'n' modifier can be replaced with non-capturing groups  

Reports the n PCRE modifier that can be replaced with non-capturing groups in RegExp patterns.

'set' visibility can be removed  

Reports a set visibility that equals property visibility and can therefore be omitted.

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.

Backed property with a 'set' hook cannot be accessed by reference  

Reports an attempted indirect modification of a hooked property.

Cannot modify property outside of 'set' visibility scope  

Reports a write access attempt to private(set) or protected(set) properties that are made outside of their set visibility scope.

Cannot write to a virtual property without a setter defined  

Reports partial or missing property hook components, i.e., insufficiently defined virtual properties.

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 class hierarchy: abstract methods implementation, compatibility of implementing/overriding methods with their declarations in parent classes, and property 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.

Getter and setter can be replaced with get and set property hooks  

Reports a private property with getter and/or setter access methods that can be replaced with a public property with get and/or set property hooks.

Hooked property cannot be unset  

Reports an attempt to call the unset() function on a hooked property.

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.

Implicitly marking parameter as nullable is deprecated  

Reports deprecated usage of an implicitly nullable parameter type.

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.

Passing 'E_USER_ERROR' to 'trigger_error()' is deprecated since PHP 8.4  

Reports passing a non-empty string as the $enclosure parameter of the CSV-related methods and functions: SplFileObject::setCsvControl() SplFileObject::fputcsv() SplFileObject::fgetcsv() fputcsv() fgetcsv() str_getcsv().

Passing 'null' or 'false' to 'dba_key_split()' is deprecated since PHP 8.4  

Reports passing null or false to dba_key_split(), which is deprecated since PHP 8.4.

Passing an option of an incorrect type is deprecated since PHP 8.4  

Reports passing incorrect data types for options to Hash extension functions, which is deprecated since PHP 8.4.

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.

Raising zero to the power of negative number is deprecated since PHP 8.4  

Reports raising zero to the power of a negative number, which is deprecated since PHP 8.4.

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.

Using a single underscore '_' as a class name is deprecated since PHP 8.4  

Reports usage of a single underscore (_) as a class name, which is deprecated since PHP 8.4.

Visibility modifier can be removed  

Reports a public visibility modifier that may be omitted for a property which has reduced set visibility specified.

Write access to 'readonly' property outside of declaration scope  

Reports the write accesses to readonly properties that are made outside the declaration scope.

01 April 2025