website/errors/interface.duplicate.md
This error is reported when the same interface is declared in multiple files within the analysed codebase:
// file1.php
<?php declare(strict_types = 1);
namespace App\Contracts;
interface Logger
{
public function log(string $message): void;
}
// file2.php
<?php declare(strict_types = 1);
namespace App\Contracts;
interface Logger
{
public function log(string $message): void;
}
The same interface is declared in multiple files within the registered stub files.
Remove the duplicate declaration and keep only one definition of the interface:
-// Delete or rename the duplicate file src/Legacy/Logger.php
If both interfaces are needed, give them different names or place them in different namespaces:
<?php declare(strict_types = 1);
-namespace App\Contracts;
+namespace App\Legacy;
-interface Logger
+interface LegacyLogger
{
public function log(string $message): void;
}