方案有多种:
一. 使用 get_object_vars() 方法
缺点: 只能显示 public 的//只显示public的
var_dump(get_object_vars($test));
处理: 在类中定义一个public 的方法, 外部对象调用即可显示所有属性(除了静态属性之外)function showAllProperties2(){
var_dump(get_object_vars($this));
}
二. 使用ReflectionClass类
能够获取所有的属性名//显示static的
class ABC
{
public static $instance='hello';
}
function get_all_static($className)
{
$r = new ReflectionClass($className);
var_dump($r->getProperties());
}
get_all_static("ABC");
PS:
PHP : Reflection API
PHP的反射类ReflectionClass、ReflectionMethod使用实例