Error Identifier: class.extendsDeprecatedTrait
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 NewBaseClass instead */
class OldBaseClass
{
}
class Foo extends OldBaseClass
{
}
Why is it reported? #
This error is reported by the phpstan-deprecation-rules extension.
A class extends a class that has been marked as @deprecated. Extending deprecated classes ties your code to implementations that are planned for removal and should be migrated away from.
In the example above, class Foo extends OldBaseClass, which is deprecated.
How to fix it #
Replace the deprecated base class with its recommended replacement:
<?php declare(strict_types = 1);
-class Foo extends OldBaseClass
+class Foo extends NewBaseClass
{
}
How to ignore this error #
You can use the identifier class.extendsDeprecatedTrait to ignore this error using a comment:
// @phpstan-ignore class.extendsDeprecatedTrait
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: class.extendsDeprecatedTrait
Rules that report this error #
- PHPStan\Rules\Deprecations\RestrictedDeprecatedClassNameUsageExtension [1] phpstan/phpstan-deprecation-rules