php8.5
Home/ Manual/ reflection / reflectionclass/ ReflectionClass::getProperties

ReflectionClass::getProperties

PHP function Edit on GitHub ✎

(PHP 5, PHP 7, PHP 8)

Gets properties

Description

ReflectionClass::getProperties(int|null $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

VersionDescription
7.2.0filter is nullable now.

Examples

ReflectionClass::getProperties() filtering example

This example demonstrates usage of the optional filter parameter, where it essentially skips private properties.

php
<?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:

output
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

Source: reference/reflection/reflectionclass/getproperties.xml · from the official PHP manual (php/doc-en)