Menu
Error Identifier: classImplements.trait
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);
trait MyTrait
{
}
class Foo implements MyTrait
{
}
Why is it reported? #
A class implements clause references a trait instead of an interface. In PHP, the implements keyword is only valid with interfaces. Traits must be used with the use keyword inside the class body.
How to fix it #
Use the use keyword to include the trait:
<?php declare(strict_types = 1);
trait MyTrait
{
}
-class Foo implements MyTrait
+class Foo
{
+ use MyTrait;
}
Non-ignorable error #
This error cannot be ignored using @phpstan-ignore or the ignoreErrors configuration. Non-ignorable errors indicate code that would cause a crash or a fatal error at runtime, or a fundamental problem in the analysed code that must be addressed.
Rules that report this error #
- PHPStan\Rules\Classes\ExistingClassesInClassImplementsRule [1]