php : 获取对象的属性名

方案有多种:

一. 使用 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使用实例

------->>>

posted @ 2016-11-08 00:43  KeenLeung  阅读(12396)  评论(0编辑  收藏  举报