ReflectionClass::getProperties

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getPropertiesВозвращает свойства

Описание

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

Возвращает reflected (отражённые) свойства.

Список параметров

filter

Опциональный фильтр, позволяющий возвращать только желаемые типы свойств. Он настраивается с помощью констант ReflectionProperty, по умолчанию позволяет возвращать свойства всех типов.

Возвращаемые значения

Массив объектов класса ReflectionProperty.

Список изменений

Версия Описание
7.2.0 filter теперь допускает значение null.

Примеры

Пример #1 Пример фильтрации с помощью ReflectionClass::getProperties()

В этом примере демонстрируется использование параметра filter, который в данном случае не пропускает private (закрытые) свойства.

<?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);

?>

Вывод приведённого примера будет похож на:

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

Смотрите также