PHP 的函数,用于列出所有对象的属性和方法

2022-08-30 18:17:30

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


答案 1

PHP5 包含一个完整的反射 API,它超越了旧get_class_methodsget_object_vars的功能。


答案 2

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


推荐