Der PHP-Editor Youzi führt eine Methode ein, um den Strukturnamen der Implementierungsschnittstelle oder Vererbungsstruktur abzurufen. Beim Programmieren müssen wir oft herausfinden, welche Schnittstellen eine Klasse implementiert oder welche Strukturen sie erbt. Mithilfe des Reflexionsmechanismus können wir diese Informationen leicht erhalten. Verwenden Sie einfach die Methoden getInterfaceNames() und getParentClass() der Klasse ReflectionClass. Wir können die Namen der von der Klasse implementierten Schnittstellen und die Namen der geerbten Strukturen abrufen. Diese Methode ist einfach und praktisch und kann uns helfen, die Codestruktur besser zu verstehen und zu analysieren.
Ist es möglich, mithilfe von Reflektion einen String-Abschnitt zu erhalten, der die Namen aller Typen darstellt, die eine Schnittstelle implementieren oder von einer bestimmten Struktur in einem bestimmten Paket erben?
Nachdem ich einige Recherchen in der Dokumentation des reflect
-Pakets durchgeführt habe, glaube ich nicht, dass dies möglich ist. So funktioniert Reflektion in Go nicht: Der Schnittstellenmechanismus ist nicht deklarativ (sondern vom Duck-Typ), und es gibt keine solche Liste von Typen.
ast
verwenden, um Ihr Projekt zu analysieren, eine Liste der Typen zu erhalten, zu prüfen, ob sie die Schnittstelle implementieren, und dann Code zu schreiben, um Ihnen das obige Segment zu geben. Dies fügt einen Kompilierungsschritt hinzu, aber die Ergebnisse sind großartig. Das obige ist der detaillierte Inhalt vonRuft den Namen einer Struktur ab, die eine Schnittstelle oder eine geerbte Struktur implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!