Inspectopedia 2024.3 Help

General

'final' modifier is redundant, property with private 'set' visibility is implicitly final   New in this release

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

'n' modifier can be replaced with non-capturing groups   New in this release

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

'set' visibility can be removed   New in this release

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

Argument with name identifier   New in this release

Reports arguments with name identifiers.

Argument without name identifier   New in this release

Reports arguments without name identifiers.

Array index is immediately rewritten   New in this release

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   New in this release

Reports an attempted indirect modification of a hooked property.

Cannot modify property outside of 'set' visibility scope   New in this release

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   New in this release

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

Class can't implement Traversable directly   New in this release

Reports the classes that are implementing the Traversable interface alone, not as part of Iterator or IteratorAggregate interfaces.

Class hierarchy checks   New in this release

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   New in this release

Reports references to static methods and fields via a class instance rather than the class itself.

Curly brace access syntax usage   New in this release

Reports the usages of curly brace syntax for accessing array elements and string offsets.

Deprecated   New in this release

Reports the usages of deprecated entities.

Deprecated '${' string interpolation   New in this release

Reports ${var} and ${expr} interpolations in strings.

Deprecated 'Serializable' interface usage   New in this release

Reports the usages of deprecated Serializable interface.

Deprecated '__autoload()' function declaration   New in this release

Reports the __autoload() function declarations.

Deprecated 'assert()' function declaration   New in this release

Reports the assert() function declarations.

Deprecated 'implode/join' usage   New in this release

Reports deprecated usage of the implode and join functions.

Deprecated Standard Library call   New in this release

Reports the calls to Standard PHP Library functions that are deprecated starting from PHP 8.1.

Deprecated cast   New in this release

Reports deprecated cast expressions: (unset) cast expressions, which are deprecated in PHP 7.2 and later.

Deprecated partially supported callables   New in this release

Reports deprecated usage of callables that are supported by call_user_func($callable), but not by $callable().

Disabled extension stubs   New in this release

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   New in this release

Suggests replacing Doctrine annotations with attributes.

Dynamic method called as static   New in this release

Reports static calls to dynamic class methods.

Element is not available in configured PHP version   New in this release

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   New in this release

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   New in this release

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

Ignored class alias declaration   New in this release

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   New in this release

Reports deprecated usage of an implicitly nullable parameter type.

Incorrect magic method signature   New in this release

Reports incompatible magic methods signatures.

Invalid magic method modifiers   New in this release

Reports the magic methods that are not declared as public or are declared as static.

Language level   New in this release

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   New in this release

Reports method reference chains that are too long for IDE to analyze.

Method declaration in parent class is incompatible with implemented interface   New in this release

Reports the methods declarations in parent classes that are incompatible with implemented interfaces.

Named argument may be unresolved   New in this release

Reports the named arguments in method calls that might be unresolved depending on a specific class instance within the hierarchy.

Nested ternary operator usage   New in this release

Reports nested ternary expressions, which are deprecated starting from PHP 7.4.

Overriding method/extending class marked as '@final'   New in this release

Reports override of method or extending of class with @final in the PHPDoc.

Parameter's name changed during inheritance   New in this release

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   New in this release

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   New in this release

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   New in this release

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

Promoted property usage   New in this release

Reports properties declared through promoted constructor parameters.

Property can be 'readonly'   New in this release

Reports the private promoted properties that are never written to.

Property can be promoted   New in this release

Reports the properties that can be replaced with promoted versions.

Property is immediately rewritten   New in this release

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   New in this release

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

Second write to 'readonly' property   New in this release

Reports reassignments of readonly properties.

Static method called as dynamic   New in this release

Reports dynamic calls to static class methods.

Symfony annotation can be replaced with attribute   New in this release

Suggests replacing Symfony annotations with attributes.

Unpacking arrays with string keys is forbidden for PHP < 8.1   New in this release

Reports array unpacking with string keys in PHP < 8.1 See Array unpacking with string keys for details.

Unresolved include   New in this release

Reports non-resolved include, include_once, require, and require_once expressions.

Usage of internal entity   New in this release

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   New in this release

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

Visibility modifier can be removed   New in this release

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   New in this release

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

Last modified: 03 December 2024