PHP ReflectionClass::getProperties 反射函数

  • 定义和用法

    ReflectionClass::getProperties - 获取一组属性
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 支持 支持
  • 语法

    ReflectionClass::getProperties( [ int $filter ] )
    ReflectionClass::getProperties() 获取反射过的属性。
  • 参数

    参数 必需的 描述
    filter 可选的过滤器,过滤为所需类型的属性。它使用 ReflectionProperty 常量 来配置,默认获取所有类型的属性。
    • ReflectionProperty::IS_STATIC - 指示了 static 的属性。
    • ReflectionProperty::IS_PUBLIC - 指示了 public 的属性。
    • ReflectionProperty::IS_PROTECTED - 指示了 protected 的属性。
    • ReflectionProperty::IS_PRIVATE - 指示了 private 的属性。
    可以用按位或来过滤多个。
  • 返回值

    ReflectionProperty 对象的数组。
  • 示例

    class Foo {
            public    $foo  = 1;
            protected $bar  = 2;
            private   $baz  = 3;
            static    $sta  = 4;
    }
    
    $foo = new Foo();
    
    $reflect = new ReflectionClass($foo);
    $props   = $reflect->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED);
    
    foreach ($props as $prop) {
            print $prop->getName() . "\n";
    }
    
    var_dump($props);
    
    尝试一下
  • 相关页面

    ReflectionClass::getProperty() - 获取类的一个属性的 ReflectionProperty