Unused Import
ID |
php.unused_import |
Severity |
low |
Remediation Complexity |
medium |
Remediation Risk |
low |
Remediation Effort |
medium |
Resource |
Code Smell |
Language |
Php |
Tags |
code_smell, unused-code |
Description
Reports a use statement whose imported symbol is never referenced anywhere in the file.
The check covers plain class imports, aliased imports, grouped imports
(use Foo\{A, B};), function imports (use function …) and constant imports
(use const …).
Rationale
An unused import is dead code in the file header. It suggests a dependency that was removed but whose import survived, misleads readers about what the file actually relies on, and adds churn to code reviews. Because PHP class names are case-insensitive, the imported short name (the alias when present, otherwise the last namespace segment) is matched against references case-insensitively.
<?php
use App\Model\User; // OK - referenced below
use App\Model\Account; // FLAW - never referenced
class Service
{
public function run(): User
{
return new User();
}
}