Menu

← Back to staticMethod.*

Error Identifier: staticMethod.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.

Code example #

<?php declare(strict_types = 1);

/** @deprecated Use NewStatus instead */
enum OldStatus: string
{
	case Active = 'active';

	public static function getDefault(): self
	{
		return self::Active;
	}
}

OldStatus::getDefault();

Why is it reported? #

This error is reported by the phpstan-deprecation-rules extension.

A static method is being called on an enum that is marked as @deprecated. Deprecated enums are scheduled for removal or replacement. Calling static methods on them ties the code to an API that will eventually be removed.

This error can also be reported when calling a deprecated static method on an enum, regardless of whether the enum itself is deprecated.

How to fix it #

Use the recommended replacement enum:

-OldStatus::getDefault();
+NewStatus::getDefault();

If the calling code is itself deprecated, the error will not be reported. Mark the function or class as deprecated if it is part of a deprecation migration:

+/** @deprecated */
 function doFoo(): void
 {
 	OldStatus::getDefault();
 }

How to ignore this error #

You can use the identifier staticMethod.deprecatedEnum to ignore this error using a comment:

// @phpstan-ignore staticMethod.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: staticMethod.deprecatedEnum

Rules that report this error #

  • PHPStan\Rules\Deprecations\RestrictedDeprecatedClassNameUsageExtension [1] phpstan/phpstan-deprecation-rules
  • PHPStan\Rules\Deprecations\RestrictedDeprecatedMethodUsageExtension [1] [2] phpstan/phpstan-deprecation-rules

Edit this page on GitHub

Theme
A
© 2026 PHPStan s.r.o.