In PHP ist eine Schnittstelle eine Struktur, die die Methodensignatur definiert, die eine Klasse implementiert muss. Es hilft uns, den Code zu normalisieren und zu entkoppeln und die Wartbarkeit und Skalierbarkeit von Code zu verbessern. Wenn wir Schnittstellen in großen Projekten verwenden, ist das schnell zu verstehen, welche Schnittstellen in der aktuellen Code -Umgebung enthalten sind. Glücklicherweise bietet PHP eine sehr bequeme integrierte Funktion - get_declared_interfaces () , mit der wir alle deklarierten Schnittstellen leicht anzeigen können.
Schnittstellen sind ein abstrakter Typ in der PHP -Sprache, der eine Reihe von Methoden definiert, jedoch keine spezifischen Implementierungen von Methoden enthalten. Eine Klasse, die eine Schnittstelle implementiert, muss alle in der Schnittstelle deklarierten Methoden implementieren. Dieser Mechanismus ermöglicht es verschiedenen Klassen, dieselbe Schnittstellenspezifikation zu befolgen, um sicherzustellen, dass sie dieselbe Methodenstruktur aufweisen.
<?php
interface LoggerInterface {
public function log(string $message);
}
class FileLogger implements LoggerInterface {
public function log(string $message) {
echo "Logging message to a file: $message";
}
}
?>
get_declared_interfaces () ist eine integrierte Funktion, die eine Liste aller aktuell deklarierten Schnittstellennamen zurückgibt. Es erfordert keine Parameter, gibt ein Array zurück, das die Namen aller Schnittstellen enthält.
Diese Funktion ist sehr geeignet für das Debuggen, die automatische Erzeugung von Dokumenten oder die dynamische Analyse von Codestrukturen.
Hier ist ein einfaches Beispiel, das zeigt, wie Sie Get_Declared_interfaces () verwenden, um die Namen aller Schnittstellen in der aktuellen Umgebung zu erhalten.
<?php
// Eine Schnittstelle deklarieren
interface SampleInterface {
public function sampleMethod();
}
// Holen Sie sich alle deklarierten Schnittstellen
$interfaces = get_declared_interfaces();
echo "Die derzeit deklarierte Schnittstelle hat:\n";
print_r($interfaces);
?>
Nach dem Ausführen des oben genannten Codes wird eine Liste von SampleInterface- und PHP-integrierten Schnittstellen ausgegeben.
Wenn Sie die Methoden einer Schnittstelle weiter betrachten möchten, können Sie die ReflectionClass -Klasse in Kombination mit dem Reflexionsmechanismus von PHP verwenden.
<?php
interface ExampleInterface {
public function foo();
public function bar($param);
}
$interfaces = get_declared_interfaces();
foreach ($interfaces as $interface) {
if ($interface === 'ExampleInterface') {
$reflection = new ReflectionClass($interface);
echo "Schnittstelle $interface Die Methode ist:\n";
foreach ($reflection->getMethods() as $method) {
echo "- " . $method->getName() . "\n";
}
}
}
?>
Der oben genannte Code gibt alle durch Beispielinterface definierten Methodamen aus.
Mit Get_Declared_interfaces () können wir die Schnittstellenliste zur Laufzeit dynamisch erhalten und uns helfen, die Definition von Schnittstellen im Programm zu verstehen, wodurch es einfacher ist, zu debuggen und zu warten. Insbesondere in großen Projekten kann diese Funktion bei vielen Schnittstellen schnell die Schnittstelleninformationen zusammenfassen und viel Zeit für die manuelle Suche sparen.