Error Identifier: methodTag.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';
}
/**
* @method OldStatus getStatus()
*/
class Order
{
}
Why is it reported? #
A @method PHPDoc tag references a deprecated enum in its type declaration. The enum has been marked with a @deprecated PHPDoc tag, indicating it should no longer be used. PHPDoc annotations should not reference deprecated types as they are planned for removal in a future version.
How to fix it #
Update the @method tag to use the replacement type:
<?php declare(strict_types = 1);
/**
- * @method OldStatus getStatus()
+ * @method NewStatus getStatus()
*/
class Order
{
}
How to ignore this error #
You can use the identifier methodTag.deprecatedEnum to ignore this error using a comment:
// @phpstan-ignore methodTag.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: methodTag.deprecatedEnum
Rules that report this error #
- PHPStan\Rules\Deprecations\RestrictedDeprecatedClassNameUsageExtension [1] phpstan/phpstan-deprecation-rules