Interfaces definieren eine Schnittstelle nach Außen. Durch Sie ist sichergestellt das bestimmte Funktionen vorhanden sind und exakt so aussehen wie sie definiert wurden.
In PHP wird ein Interface wie folgt definiert:
interface Plugin
{
public function __construct($db);
public function start();
}
Hier wird definiert das die Klasse welches das Interface implementiert einen Konstruktor haben muss der als Parameter eine Variable nimmt. Außerdem muss eine Methode vorhanden sein die start heißt und keine Parameter benötigt.
Implementiert wird das ganze wie folgt:
class Ueberweisung implements Plugin
{function __construct($db)
{
//…
}
function start()
{
//…
}
}
Nur wenn alle Funktionen implemtiert wirden funktioniert dies. Ansonsten gibt der PHP Interpretor eine Error Meldung.
Es ist auch möglich das ein Interface von einem anderen erbt.
interface Plugin2 extends Plugin
{
public function machwas();
}
Eine Klasse die jetzt Plugin2 implementiert muss nun alle Methoden von Plugin und Plugin2 bereitstellen.