ReflectionClass::getProperties

Gets properties

&reftitle.description; public `array` `ReflectionClass::getProperties` ``int``null```filter`&null;

Retrieves reflected properties.

&reftitle.parameters;

`filter`

- The optional filter, for filtering desired property types. It's configured using the ReflectionProperty constants, and defaults to all property types.

&reftitle.returnvalues;

An array of `ReflectionProperty` objects.

&reftitle.changelog;

&Version; | &Description;
7.2.0 | `filter` is nullable now.

&reftitle.examples;

### `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);

    ?>

&example.outputs.similar;

    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"
      }
    }

&reftitle.seealso;

- `ReflectionClass::getProperty`
- `ReflectionProperty`
- ReflectionProperty modifier constants