(PHP 5, PHP 7, PHP 8)
ReflectionClass::getProperties — 獲取一組屬性
$filter = ?): array獲取反射過的屬性。
ReflectionProperty 對象的數組。
示例 #1 ReflectionClass::getProperties() 過濾例子
這個例子延時了可選 filter 參數的用法,例子里實際上忽略了私有屬性。
<?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"
}
}