Error Identifier: class.prefixed
Every error reported by PHPStan has an error identifier. Here’s a list of all error identifiers. In PHPStan Pro you can see the error identifier next to each error and filter errors by their identifiers.
Code example #
<?php declare(strict_types = 1);
$reflection = new _PHPStan_\BetterReflection\Reflection\ReflectionClass('Foo');
Why is it reported? #
The code references a class with an internal vendor prefix (such as _PHPStan_, RectorPrefix, _PhpScoper, PHPUnitPHAR, or _HumbugBox). These prefixes are added by tools like PHP-Scoper during the build process to prevent namespace collisions in PHAR archives. Referencing prefixed class names is almost always unintentional and will break when the tool is updated or when running outside the PHAR context.
How to fix it #
Use the original, unprefixed class name instead:
<?php declare(strict_types = 1);
-$reflection = new _PHPStan_\BetterReflection\Reflection\ReflectionClass('Foo');
+$reflection = new \BetterReflection\Reflection\ReflectionClass('Foo');
Non-ignorable error #
This error cannot be ignored using @phpstan-ignore or the ignoreErrors configuration. Non-ignorable errors indicate code that would cause a crash or a fatal error at runtime, or a fundamental problem in the analysed code that must be addressed.
Rules that report this error #
- PHPStan\Rules\Classes\ClassAttributesRule [1]
- PHPStan\Rules\Classes\ClassConstantAttributesRule [1]
- PHPStan\Rules\Classes\ClassConstantRule [1]
- PHPStan\Rules\Classes\ExistingClassInClassExtendsRule [1]
- PHPStan\Rules\Classes\ExistingClassInInstanceOfRule [1]
- PHPStan\Rules\Classes\ExistingClassInTraitUseRule [1]
- PHPStan\Rules\Classes\ExistingClassesInClassImplementsRule [1]
- PHPStan\Rules\Classes\ExistingClassesInEnumImplementsRule [1]
- PHPStan\Rules\Classes\ExistingClassesInInterfaceExtendsRule [1]
- PHPStan\Rules\Classes\InstantiationRule [1]
- PHPStan\Rules\Classes\LocalTypeAliasesRule [1]
- PHPStan\Rules\Classes\LocalTypeTraitAliasesRule [1]
- PHPStan\Rules\Classes\LocalTypeTraitUseAliasesRule [1]
- PHPStan\Rules\Classes\MethodTagRule [1]
- PHPStan\Rules\Classes\MethodTagTraitRule [1]
- PHPStan\Rules\Classes\MethodTagTraitUseRule [1]
- PHPStan\Rules\Classes\MixinRule [1]
- PHPStan\Rules\Classes\MixinTraitRule [1]
- PHPStan\Rules\Classes\MixinTraitUseRule [1]
- PHPStan\Rules\Classes\PropertyTagRule [1]
- PHPStan\Rules\Classes\PropertyTagTraitRule [1]
- PHPStan\Rules\Classes\PropertyTagTraitUseRule [1]
- PHPStan\Rules\Constants\ConstantAttributesRule [1]
- PHPStan\Rules\EnumCases\EnumCaseAttributesRule [1]
- PHPStan\Rules\Exceptions\CaughtExceptionExistenceRule [1]
- PHPStan\Rules\Functions\ArrowFunctionAttributesRule [1]
- PHPStan\Rules\Functions\ClosureAttributesRule [1]
- PHPStan\Rules\Functions\ExistingClassesInArrowFunctionTypehintsRule [1]
- PHPStan\Rules\Functions\ExistingClassesInClosureTypehintsRule [1]
- PHPStan\Rules\Functions\ExistingClassesInTypehintsRule [1]
- PHPStan\Rules\Functions\FunctionAttributesRule [1]
- PHPStan\Rules\Functions\ParamAttributesRule [1]
- PHPStan\Rules\Generics\ClassTemplateTypeRule [1]
- PHPStan\Rules\Generics\FunctionTemplateTypeRule [1]
- PHPStan\Rules\Generics\InterfaceTemplateTypeRule [1]
- PHPStan\Rules\Generics\MethodTagTemplateTypeRule [1]
- PHPStan\Rules\Generics\MethodTagTemplateTypeTraitRule [1]
- PHPStan\Rules\Generics\MethodTemplateTypeRule [1]
- PHPStan\Rules\Generics\TraitTemplateTypeRule [1]
- PHPStan\Rules\Methods\CallStaticMethodsRule [1]
- PHPStan\Rules\Methods\ExistingClassesInTypehintsRule [1]
- PHPStan\Rules\Methods\MethodAttributesRule [1]
- PHPStan\Rules\Methods\StaticMethodCallableRule [1]
- PHPStan\Rules\Namespaces\ExistingNamesInGroupUseRule [1]
- PHPStan\Rules\Namespaces\ExistingNamesInUseRule [1]
- PHPStan\Rules\PhpDoc\FunctionAssertRule [1]
- PHPStan\Rules\PhpDoc\IncompatiblePhpDocTypeRule [1]
- PHPStan\Rules\PhpDoc\IncompatiblePropertyHookPhpDocTypeRule [1]
- PHPStan\Rules\PhpDoc\IncompatiblePropertyPhpDocTypeRule [1]
- PHPStan\Rules\PhpDoc\InvalidPhpDocVarTagTypeRule [1]
- PHPStan\Rules\PhpDoc\MethodAssertRule [1]
- PHPStan\Rules\PhpDoc\RequireExtendsDefinitionClassRule [1]
- PHPStan\Rules\PhpDoc\RequireExtendsDefinitionTraitRule [1]
- PHPStan\Rules\PhpDoc\RequireImplementsDefinitionTraitRule [1]
- PHPStan\Rules\PhpDoc\SealedDefinitionClassRule [1]
- PHPStan\Rules\Properties\AccessStaticPropertiesInAssignRule [1]
- PHPStan\Rules\Properties\AccessStaticPropertiesRule [1]
- PHPStan\Rules\Properties\ExistingClassesInPropertiesRule [1]
- PHPStan\Rules\Properties\ExistingClassesInPropertyHookTypehintsRule [1]
- PHPStan\Rules\Properties\PropertyAttributesRule [1]
- PHPStan\Rules\Properties\PropertyHookAttributesRule [1]
- PHPStan\Rules\Traits\TraitAttributesRule [1]