(PHP 5)
ReflectionClass::getProperties — Gets properties
$filter
  ] )Retrieves reflected properties.
filterThe optional filter, for filtering desired property types. It's configured using the ReflectionProperty constants, and defaults to all property types.
An array of ReflectionProperty objects.
Example #1 ReflectionClass::getProperties() filtering example
    This example demonstrates usage of the optional filter
    parameter, where it essentially skips private properties.
   
<?php
class Foo {
    public    $foo  = 1;
    protected $bar  = 2;
    private   $baz  = 3;
}
$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);
?>
The above example will output something similar to:
foo
bar
array(2) {
  [0]=>
  object(ReflectionProperty)#3 (2) {
    ["name"]=>
    string(3) "foo"
    ["class"]=>
    string(3) "Foo"
  }
  [1]=>
  object(ReflectionProperty)#4 (2) {
    ["name"]=>
    string(3) "bar"
    ["class"]=>
    string(3) "Foo"
  }
}