Menu

← Back to classConstant.*

Error Identifier: classConstant.deprecatedInterface

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 NewInterface instead. */
interface OldInterface
{
    public const FOO = 'foo';
}

// Accessing a constant on a deprecated interface
echo OldInterface::FOO;

Why is it reported? #

The code accesses a class constant on an interface that has been marked with a @deprecated PHPDoc tag. The interface is scheduled for removal or replacement, and any usage of its constants should be migrated to the recommended alternative.

This rule is provided by the phpstan-deprecation-rules package.

How to fix it #

Replace the usage with the constant from the non-deprecated replacement, as indicated in the deprecation message:

 <?php declare(strict_types = 1);
 
-echo OldInterface::FOO;
+echo NewInterface::FOO;

How to ignore this error #

You can use the identifier classConstant.deprecatedInterface to ignore this error using a comment:

// @phpstan-ignore classConstant.deprecatedInterface
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: classConstant.deprecatedInterface

Rules that report this error #

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

Edit this page on GitHub

Theme
A
© 2026 PHPStan s.r.o.