website/errors/enum.implementsDeprecatedInterface.md
<?php declare(strict_types = 1);
/** @deprecated Use NewInterface instead */
interface OldInterface
{
public function doSomething(): void;
}
enum Status: string implements OldInterface
{
case Active = 'active';
case Inactive = 'inactive';
public function doSomething(): void
{
}
}
This error is reported by the phpstan-deprecation-rules extension.
An enum implements an interface that has been marked as @deprecated. Implementing deprecated interfaces ties the enum to a contract that is planned for removal.
In the example above, enum Status implements OldInterface, which is deprecated.
Replace the deprecated interface with its recommended replacement:
<?php declare(strict_types = 1);
-enum Status: string implements OldInterface
+enum Status: string implements NewInterface
{
case Active = 'active';
case Inactive = 'inactive';
public function doSomething(): void
{
}
}