Inspectopedia 2026.2 Help

Unused declaration

Reports classes, methods, functions, constants, and properties that are either not used or unreachable from entry points. Also reports method implementations and overriders that are never called.

The inspection has two configuration options:

  • Members to Report — select which element types are reported, and set the minimum visibility level (public, protected, or private) for methods, fields, and constants.

  • Entry Points — configure what counts as used for a declaration:

    • Code patterns: add name patterns (glob/regex) whose matching declarations are treated as entry points.

    • Suppressed annotations: add custom PHPDoc annotations that suppress the warning.

    • Suppress getters and setters: select the checkbox to skip methods whose names start with get or set.

    • Suppress test entries: select the checkbox to treat test classes and methods as entry points (enabled by default).

    • Show only unused: select to also report members that are reachable from entry points but never called directly from outside the class. The default is Show all declarations.

Some unused members might not be reported in the code editor on the fly. Due to performance reasons, a non-private member is checked only when its name rarely occurs in the project.

To see all results, run the inspection in batch mode by using Code | Inspect Code... or Code | Run Inspection by Name....

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

PhpUnused
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | PHP | Unused symbols

Inspection ID: PhpUnused

Inspection options

Here you can find the description of settings available for the Unused declaration inspection, and the reference of their default values.

Members to Report

Default value:

None
Entry Points

Default value:

None

Suppressing Inspection

You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:

//noinspection PhpUnused

More detailed instructions as well as other ways and options that you have can be found in the product documentation:

Last modified: 30 June 2026