¿Existe una función para enumerar todos los atributos del objeto (como los métodos y propiedades públicos) en PHP similar al dir()
de Python?Función de PHP para enumerar todos los atributos de los atributos
Respuesta
Puede usar get_object_vars
para enumerar las variables de objeto y get_class_methods
para enumerar los métodos de una clase determinada.
PHP5 incluye una completa Reflection API para ir más allá de lo que la mayor get_class_methods y get_object_vars puede hacer.
Reflection::export(new ReflectionObject($Yourobject));
Usted puede utilizar ReflectionClass::getProperties
y ReflectionClass::getMethods
métodos de la API de reflexión para hacer esto (aunque la API no parece estar muy bien documentado). Tenga en cuenta que la reflexión de PHP solo refleja la información de tiempo de compilación, no los objetos de tiempo de ejecución. Si desea que los objetos de tiempo de ejecución también se incluyan en los resultados de su consulta, es mejor utilizar las funciones get_object_vars
, get_class_vars
y get_class_methods
. La diferencia entre get_object_vars
y get_class_vars
es que la primera obtiene todas las variables de un objeto dado (incluidas las que se agregan dinámicamente en el tiempo de ejecución), mientras que la última solo le da aquellas que se han declarado explícitamente en la clase.
¡Respuesta muy útil y completa, gracias! +1 –
Creo que hay un punto importante que se agrega cuando dices: "... get_class_vars te da solo aquellas variables que se han declarado explícitamente en la clase" y TAMBIÉN los VALORES asociados son los que se declaran en la clase (el valores predeterminados) y NO los valores de tiempo de ejecución. –
- 1. Eliminar todos los atributos
- 2. php dom obtener todos los atributos de un nodo
- 3. jQuery obtener todos los atributos HTML
- 4. * todos * los atributos CSS con jQuery
- 5. Actualizar los atributos del modelo
- 6. Cómo obtener todos los atributos HTML que comienzan con algo (los nombres de los atributos, * no * sus valores!)
- 7. Recuperar todos los atributos de asociación de un modelo AR?
- 8. Newtonsoft ignorar los atributos?
- 9. Limpieza/desinfección de los atributos xpath
- 10. Carga diferida de los atributos
- 11. ¿Alguna forma de obtener todos los id (atributos) de todos los elementos de una clase concreta?
- 12. Elección de los atributos en la instancia XML para los atributos o referencias directamente definidos
- 13. LDAP - ¿Recuperar una lista de todos los atributos/valores?
- 14. Averigüe los nombres de todos los atributos en una entidad devuelta por CRM Dynamics
- 15. XSLT Plantilla incorporada Reglas para los atributos
- 16. algoritmo para enumerar todos los posibles caminos
- 17. ¿Cómo se especifican los atributos de fuente para todos los elementos en una página web html?
- 18. Inspeccionar los atributos de la clase python
- 19. Usar Ransack sort_link para los no atributos
- 20. ¿Cómo funciona la herencia para los atributos?
- 21. ataques XSS y los atributos de estilo
- 22. expresiones regulares - coincide con todos los anclajes con atributos opcionales
- 23. ¿Por qué los atributos de PHP no permiten funciones?
- 24. XSLT: cambiar ciertos valores de los atributos
- 25. Ruby on Rails 3 - a_json sin incluir todos los atributos
- 26. Enumerar todos los usuarios en LDAP con PHP
- 27. Establecer DataContract y DataMember sin todos los atributos
- 28. Los atributos XML se ordenan
- 29. ¿Son los atributos personalizados para los Enum peligrosos?
- 30. Establezca los atributos de accesibilidad en UIBarButtonItem
Tenga en cuenta que esto no funciona con los métodos mágicos. – OIS