Ich versuche, Namespaces in PHP mit einigen Klassen und Schnittstellen zu verwenden.
Es scheint, dass ich eine Verwendungsanweisung sowohl für die Schnittstelle als auch für den konkreten Typ, der verwendet wird, angeben muss. Dies ist Art der Niederlage der Zweck der Verwendung von Schnittstellen sicherlich?
Ich habe also vielleicht
//Interface
namespace App\MyNamesapce;
interface MyInterface
{}
//Concrete Implementation
namespace App\MyNamesapce;
class MyConcreteClass implements MyInterface
{}
//Client
namespace App;
use App\MyNamespace\MyInterface // i cannot do this!!!!
use App\MyNamespace\MyConcreteClass // i must do this!
class MyClient
{}
Ist nicht der ganze Punkt der Schnittstellen, so dass die konkreten Typen austauschbar sind - dies geht gegen das sicher. Es sei denn, ich mache etwas nicht richtig