Gibt es eine Funktion, um alle Attribute des Objekts (wie öffentliche Methoden und Eigenschaften) in PHP ähnlich wie Pythons dir()
aufzulisten?PHP-Funktion zum Auflisten aller Objektattribute
Antwort
Sie können get_object_vars
verwenden, um Objektvariablen aufzulisten, und get_class_methods
, um die Methoden einer bestimmten Klasse aufzulisten.
PHP5 enthält eine komplette Reflection API für mehr als das, was die älteren get_class_methods und get_object_vars tun können.
Reflection::export(new ReflectionObject($Yourobject));
können Sie das ReflectionClass::getProperties
und ReflectionClass::getMethods
Methoden des Reflection-API verwenden, um dies zu tun (obwohl die API scheint nicht sehr gut dokumentiert zu sein). Beachten Sie, dass die PHP-Reflektion nur Informationen zur Kompilierzeit und keine Laufzeitobjekte enthält. Wenn Sie auch Laufzeitobjekte in Ihre Abfrageergebnisse aufnehmen möchten, verwenden Sie am besten die Funktionen get_object_vars
, get_class_vars
und get_class_methods
. Der Unterschied zwischen get_object_vars
und get_class_vars
besteht darin, dass der erstere alle Variablen für ein gegebenes Objekt (einschließlich derjenigen, die zur Laufzeit dynamisch hinzugefügt werden) erhält, während die zweite Ihnen nur diejenigen gibt, die explizit in der Klasse deklariert wurden.
Sehr hilfreiche und vollständige Antwort, danke! +1 –
Ich denke, es gibt einen wichtigen Punkt hinzuzufügen, wenn Sie sagen: "... get_class_vars gibt Ihnen nur die Variablen, die explizit in der Klasse deklariert wurden" und auch die zugehörigen Werte sind die in der Klasse deklarierten Standardwerte) und NICHT die Laufzeitwerte. –
- 1. Befehl zum Auflisten aller Quelldateien in TCL
- 2. Batch-Datei zum Auflisten aller Unterordnerpfade
- 3. Abfrage zum Auflisten aller Partitionen in Datomic
- 4. Auflisten aller Anwendungsdomänen ohne mscoree
- 5. Skripte zum Auflisten aller unterschiedlichen Zeichen in einer Textdatei
- 6. Verwenden von TemplateHaskell zum Auflisten aller Namen in einem Namespace
- 7. Schnelle Möglichkeit zum Auflisten aller Dateien einschließlich Unterordner
- 8. Befehlszeile zum Auflisten aller Zusammenfügungen (Kopien) in Subversion?
- 9. Emacs-Plugin zum Auflisten aller Methoden in einem Python-Modul
- 10. Auflisten aller Fensterhandles auf dem Desktop
- 11. Auflisten aller Unterverzeichnisse mit einem angegebenen Namen
- 12. Eclipse: Methoden und Variablen aller Klassen auflisten
- 13. Auflisten aller gespeicherten Prozeduren mit Schemenname
- 14. Auflisten aller in AppDomain gespeicherten benutzerdefinierten Daten
- 15. Auflisten aller verfügbaren Laufwerksbuchstaben in Windows
- 16. Auflisten aller Versionsnummern von Docker image
- 17. Baum zum Auflisten (aktualisiert)
- 18. Auflisten aller Datenbanken, aller Tabellen und aller Spalten in einer SQL Server-Instanz
- 19. Datenbankregel zum Auflisten von Kindern mit Lesezugriff
- 20. Auflisten aller k-Partitionen von 1d-Array mit N-Elementen?
- 21. Auflisten aller Elemente in Selenium Python Bindings für Appium
- 22. Windows cmd Befehl zum Auflisten aller Dateien, Ordner und Unterordner mit vollem Pfad und Besitzername
- 23. Wie lautet der Befehl zum Auflisten aller Dateien, die in kleinen Buchstaben enden?
- 24. Verwenden von XSL zum Auflisten aller Felder eines Elements in Sitecore CMS
- 25. Eine Laufwerks-API zum Auflisten aller Laufwerke für ein Geschäftskonto mit einem Laufwerk funktioniert nicht?
- 26. Befehl zum Auflisten aller Ordner und Unterordner in einem Verzeichnis in Linux
- 27. Gibt es einen postgres-Befehl zum Auflisten/Löschen aller materialisierten Ansichten?
- 28. Batch-Datei zum Auflisten aller Ordner in einem Verzeichnis und Ausgabe in txt mit
- 29. SQL-Abfrage zum Auflisten aller Ansichten in einer SQL Server 2005-Datenbank
- 30. Befehl zum Auflisten aller Dateien in einem Ordner sowie in Unterordnern in Windows
Beachten Sie, dass dies nicht mit magischen Methoden funktioniert. – OIS