Esiste una funzione per elencare tutti gli attributi dell'oggetto (come metodi e proprietà pubbliche) in PHP in modo simile a dir()
di Python?La funzione di PHP per elencare tutti gli attributi degli oggetti
risposta
È possibile utilizzare get_object_vars
per elencare le variabili dell'oggetto e get_class_methods
per elencare i metodi di una determinata classe.
PHP5 include uno Reflection API completo per andare oltre ciò che possono fare i precedenti get_class_methods e get_object_vars.
Reflection::export(new ReflectionObject($Yourobject));
È possibile utilizzare ReflectionClass::getProperties
e ReflectionClass::getMethods
metodi del API Reflection per fare questo (anche se l'API non sembra essere molto ben documentato). Si noti che la riflessione di PHP riflette solo le informazioni sul tempo di compilazione, non gli oggetti di runtime. Se si desidera che gli oggetti di runtime siano inclusi anche nei risultati della query, è preferibile utilizzare le funzioni get_object_vars
, get_class_vars
e get_class_methods
. La differenza tra get_object_vars
e get_class_vars
consiste nel fatto che il primo ottiene tutte le variabili su un dato oggetto (inclusi quelli aggiunti dinamicamente in fase di runtime), mentre quest'ultimo fornisce solo quelli che sono stati esplicitamente dichiarati nella classe.
Risposta molto utile e completa, grazie! +1 –
Penso che ci sia un punto importante da aggiungere quando si dice: "... get_class_vars ti dà solo quelle variabili che sono state esplicitamente dichiarate nella classe" e ANCHE i VALORI associati sono quelli dichiarati nella classe (il valori predefiniti) e NON i valori di runtime. –
- 1. Elencare tutti gli attributi di modello disponibili in Thymeleaf
- 2. Come elencare tutti gli oggetti nel bucket di Amazon S3?
- 3. consentono tutti gli attributi per gli attributi nidificati
- 4. Come posso elencare tutti gli oggetti relativi a chiave esterna nel pannello di amministrazione di Django?
- 5. Esiste una funzione in Python per elencare gli attributi e i metodi di un particolare oggetto?
- 6. decoratore per impostare gli attributi della funzione
- 7. jquery animate per gli attributi degli elementi non in stile
- 8. Come elencare gli attributi del nodo XML con XML :: LibXML?
- 9. Classe di base astratta per tutti gli oggetti entità dominio
- 10. Come faccio a elencare tutti gli attributi di un oggetto in Python pdb?
- 11. Design pattern per aggiungere dinamicamente gli attributi agli oggetti
- 12. Come posso elencare gli attributi di una proprietà usando rtti?
- 13. convalida e gestione degli errori per gli oggetti di servizio
- 14. Come elencare tutti gli oggetti di un particolare database in SQL Server 2005
- 15. PHP: codifica degli attributi HTML/decodifica JavaScript
- 16. Newlines tra gli attributi degli elementi HTML?
- 17. Come posso elencare gli oggetti disponibili da iniettare in Grails?
- 18. Estendi tutti gli oggetti Swift
- 19. modo pitone per indicizzare l'elenco degli oggetti
- 20. Come elencare i nomi delle chiavi degli oggetti con jsonpath?
- 21. php SoapVar non imposta gli attributi
- 22. Get * tutti * gli attributi CSS con jQuery
- 23. Suggerimenti per la serializzazione degli oggetti Java
- 24. jQuery live() rimuove gli attributi degli eventi tattili di iPhone?
- 25. Esiste un metodo per trovare gli attributi modificati per gli oggetti?
- 26. Come posso elencare tutti gli oggetti creati da una classe in Ruby?
- 27. Restituisce tutti gli attributi di un HtmlElement nel browser Web
- 28. php nascondi TUTTI gli errori
- 29. PHP SimpleXML, come impostare gli attributi?
- 30. PHP FPM restituisce HTTP 500 per tutti gli errori PHP
Nota questo non funziona con i metodi magici. – OIS