ReflectionClass::getProperties

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getProperties獲取一組屬性

說明

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

獲取反射過的屬性。

參數(shù)

filter

可選的過濾器,過濾為所需類型的屬性。它使用 ReflectionProperty 常量 來配置,默認(rèn)獲取所有類型的屬性。

返回值

ReflectionProperty 對象的數(shù)組。

范例

示例 #1 ReflectionClass::getProperties() 過濾例子

這個例子延時了可選 filter 參數(shù)的用法,例子里實(shí)際上忽略了私有屬性。

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

參見