ReflectionClass::getProperties

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getPropertiesGets properties

Description

public ReflectionClass::getProperties(?int $filter = null): array

Retrieves reflected properties.

Parameters

filter

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

Return Values

An array of ReflectionProperty objects.

Changelog

Version Description
7.2.0 filter is nullable now.

Examples

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

See Also