Error Identifier: parameter.deprecatedEnum
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.
This error is reported by the phpstan-deprecation-rules extension.
Code example #
<?php declare(strict_types = 1);
/** @deprecated Use NewStatus instead */
enum OldStatus: string
{
case Active = 'active';
case Inactive = 'inactive';
}
function processOrder(OldStatus $status): void
{
}
Why is it reported? #
A function or method parameter uses a deprecated enum as its native type declaration. The enum has been marked with a @deprecated PHPDoc tag, indicating it should no longer be used. Using a deprecated enum in a parameter type ties new code to an obsolete API.
How to fix it #
Replace the deprecated enum with its recommended replacement in the parameter type declaration:
<?php declare(strict_types = 1);
-function processOrder(OldStatus $status): void
+function processOrder(NewStatus $status): void
{
}
How to ignore this error #
You can use the identifier parameter.deprecatedEnum to ignore this error using a comment:
// @phpstan-ignore parameter.deprecatedEnum
codeThatProducesTheError();
You can also use only the identifier key to ignore all errors of the same type in your configuration file in the ignoreErrors parameter:
parameters:
ignoreErrors:
-
identifier: parameter.deprecatedEnum
Rules that report this error #
- PHPStan\Rules\Deprecations\RestrictedDeprecatedClassNameUsageExtension [1] phpstan/phpstan-deprecation-rules