Schnittstelle in PHP | PHP-OOPs-Schnittstellen
Veröffentlicht: 2021-03-03Inhaltsverzeichnis
Einführung
PHP ist eine objektorientierte Sprache, und eine Schnittstelle ist eines der Hauptmerkmale einer objektorientierten Programmiersprache. Die Schnittstelle ermöglicht es den Codierern, die Funktionen zu deklarieren, die die verschiedenen Definitionen in der Klasse enthalten, die diese Schnittstelle implementiert. Lesen Sie weiter, um die Schnittstelle in PHP zu verstehen . Sehen Sie sich auch die Schnittstellenbeispiele in PHP an, die im Artikel geteilt werden, um mehr Verständnis zu erlangen.
Schnittstelle in PHP
Eine Schnittstelle ist eine Funktion in der objektorientierten Programmierung, die es ermöglicht, Funktionen ohne Implementierung zu erstellen. Die Implementierung muss in die Klasse aufgenommen werden. Es hilft, die Komplexität der Methodendefinition zu vermeiden, da jede Klasse, die die Schnittstelle erbt, je nach Bedarf eine andere Implementierung haben kann. Die Verwendung der Schnittstelle in PHP ähnelt der Klasse, mit dem einzigen Unterschied, dass die Implementierung in den Funktionen der Schnittstelle nicht vorhanden ist und die Schnittstelle keine Variablen hat.
Merkmale einer Schnittstelle in PHP
- Die Schnittstelle enthält den Code nicht.
- Die Schnittstelle hat die Deklaration der Methode mit oder ohne Argumente, aber nicht die Definition.
- Eine Klasse, die die Schnittstelle implementiert, sollte die Definition aller in der Schnittstelle deklarierten Methoden enthalten.
- Eine Klasse kann mehrere Schnittstellen implementieren.
- Eine Schnittstelle darf keine nicht abstrakten Methoden haben.
Syntax einer Schnittstelle
Die Schnittstelle muss vor der Verwendung deklariert werden. Die Syntax einer Schnittstelle ähnelt der einer Klasse, mit dem einzigen Unterschied, dass bei der Deklaration der Schnittstelle anstelle des Schlüsselworts class das Schlüsselwort interface verwendet wird. Unten ist die Syntax zum Deklarieren einer Schnittstelle in PHP :
<?php
//Deklaration der Schnittstelle in PHP
Schnittstelle <Schnittstellenname>

{
//Code
}
?>
Auf die innerhalb der Schnittstelle deklarierten Methoden kann zugegriffen werden, indem die Schnittstelle von der Klasse geerbt wird. Die Klasse erbt die Schnittstelle in PHP mit dem Schlüsselwort implements beim Deklarieren der Klasse.
Nachfolgend finden Sie die Syntax zum Implementieren einer Schnittstelle in PHP :
<?php
//Klassenerklärung
Die Klasse <Klassenname> implementiert <Schnittstellenname>
{
//Code
}
?>
Schnittstellenbeispiele in PHP
Um die Verwendung der Schnittstelle zu verstehen, werfen wir einen Blick auf das folgende Beispiel:
<?php
//Schnittstelle deklarieren
Schnittstelle Example_Shape
{
Öffentliche Funktion ShapeArea();
}
//Klasse, die die Schnittstelle erbt
Die Klasse Shape1 implementiert Example_Shape
{
Öffentliche Funktion ShapeArea()
{
Echo 'Fläche des Kreises';
}
}
//Klasse, die die Schnittstelle erbt
Die Klasse Shape2 implementiert Example_Shape
{
Öffentliche Funktion ShapeArea()
{
Echo 'Fläche des Platzes';
}
}
// Klasse ohne Verwendung der Schnittstelle
Klasse Shape3
{
Öffentliche Funktion AreaCal()
{
Echo 'Keine Schnittstelle';
}
}
$Obj1 = neue Form1; // Objekt für Klasse1

$Obj2 = neue Form2; // Objekt für Klasse2
$ obj3 = neue Form3; // Objekt für Klasse 3, verwendet keine Schnittstelle
Echo $obj1->ShapeArea();
Echo '<br>';
Echo $obj2->ShapeArea();
Echo '<br>';
Echo $obj3->AreaCal();
?>
Ausgabe
Bereich des Kreises
Fläche des Quadrats
Keine Schnittstelle
Erläuterung der Ausgabe
Die Klasse Shape1 hat die Definition einer Funktion, die innerhalb der Schnittstelle deklariert ist. Shape1 implementiert die Schnittstelle, daher hat es Zugriff auf die darin enthaltene Funktion und druckt „Fläche des Kreises“. Ähnlich ist die Erklärung für die Klasse Shape2 und die Ausgabe 'Fläche des Quadrats'. Die Klasse Shape3 implementiert die Schnittstelle nicht und funktioniert wie eine gewöhnliche Klasse in PHP.
Implementierung mehrerer Schnittstellen
Eine Klasse kann auch mehr als eine Schnittstelle implementieren. In solchen Fällen muss die Klasse die Definition aller Methoden haben, die in allen Schnittstellen deklariert sind, die die Klasse implementiert. Unten ist die Illustration der Implementierung von mehr als einer Schnittstelle in PHP .
<?php
// Deklaration der Schnittstelle
Schnittstellenbeispiel1
{
Öffentliche Funktion method1();
}
// Deklaration einer anderen Schnittstelle
Schnittstellenbeispiel2
{
Öffentliche Funktion method2();
}
//Klasse, die die beiden oben deklarierten Schnittstellen implementiert
Klasse Klasse1 implementiert Beispiel1, Beispiel2
{
// Definition der Methode von Interface1
Methode der öffentlichen Funktion1
{
Echo 'Innerhalb von Schnittstelle1 Methode1';
}
//Definition der Methode von Interface2
Methode der öffentlichen Funktion2
{
Echo 'Innerhalb von Schnittstelle2 Methode2;
}
}
Obj1 = neue Klasse1;
Obj2 = neue Klasse2;
Obj1->Methode1;
Obj2->Methode2;
?>
Ausgabe
Innerhalb von Schnittstelle1 Methode1

Innerhalb von Schnittstelle2 Methode2
Einige Punkte, die zur Implementierung mehrerer Schnittstellen zu beachten sind
- Alle in der Schnittstelle deklarierten Methoden sollten öffentlich sein.
- Die Funktion darf nicht das Schlüsselwort abstract haben.
- Wenn der Programmierer vergisst, eine Schnittstellenfunktion zu definieren, gibt der Code einen Fehler aus.
- Schnittstellen können keine Variablen enthalten.
Checkout: OOPs-Konzepte in PHP
Unterschied zwischen einer Schnittstelle und einer abstrakten Klasse
Im Folgenden sind einige der Unterschiede zwischen einer Schnittstelle und einer abstrakten Klasse aufgeführt:
- Eine Schnittstelle enthält nur die Deklaration, aber eine abstrakte Klasse enthält sowohl die Methodendeklaration als auch ihre Definition.
- Die Methoden in der Schnittstelle können nur öffentlich sein, während die Methoden in der abstrakten Klasse als öffentlich, privat oder geschützt deklariert werden können.
- Eine Klasse kann mehr als eine Schnittstelle implementieren, während eine Klasse nur eine abstrakte Methode erweitern kann.
Fazit
Eine Schnittstelle in PHP ist eine Funktion, die es den Benutzern ermöglicht, öffentliche Methoden ohne Definition zu deklarieren. Dieser Artikel erklärte alle Informationen über die Schnittstelle mit ihrer Syntax und Beispielen. Wir hoffen, dass die Informationen in diesem Artikel Ihnen beim Verständnis des Konzepts helfen. Auf upGrad-Blogs können Sie ähnliche Themen auf Basis von PHP lernen. Für ein tieferes Verständnis können Sie sich bei upGrad für einen Online-Zertifizierungskurs zu PHP anmelden. upGrad bietet viele Zertifikatskurse an, die Sie bei Ihrer Karriere und Ihrem Lernen unterstützen können.
Wenn Sie mehr über Full-Stack-Softwareentwicklung erfahren möchten, sehen Sie sich das PG-Diplom in Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenge Schulungen, mehr als 9 Projekte und mehr bietet Aufgaben, IIIT-B-Alumni-Status, praktische praktische Schlusssteinprojekte und Arbeitsunterstützung bei Top-Unternehmen.