2009-09-03 10 views

Respuesta

6

Puede usar get_object_vars para enumerar las variables de objeto y get_class_methods para enumerar los métodos de una clase determinada.

+0

Tenga en cuenta que esto no funciona con los métodos mágicos. – OIS

12
Reflection::export(new ReflectionObject($Yourobject)); 
11

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.

+0

¡Respuesta muy útil y completa, gracias! +1 –

+0

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. –

Cuestiones relacionadas