PHP的功能列出所有对象的属性

Ale*_*lex 21 php attributes

是否有一个函数列出PHP中的所有对象的属性(如公共方法和属性),类似于Python dir()

Pau*_*xon 16

PHP5包含一个完整的Reflection API,可以超越旧的get_class_methodsget_object_vars所能做的.


Ant*_*nna 12

Reflection::export(new ReflectionObject($Yourobject));
Run Code Online (Sandbox Code Playgroud)


Can*_*asa 12

您可以使用Reflection API ReflectionClass::getPropertiesReflectionClass::getMethods方法来执行此操作(尽管API似乎没有很好地记录).请注意,PHP反射仅反映编译时信息,而不反映运行时对象.如果你想运行对象也包括在您的查询结果,最好使用get_object_vars,get_class_varsget_class_methods功能.get_object_vars和之间的区别在于get_class_vars前者获取给定对象上的所有变量(包括在运行时动态添加的变量),而后者仅为您提供已在类中显式声明的变量.


小智 6

您可以使用get_object_vars列出对象变量并get_class_methods列出给定类的方法.