📅  最后修改于: 2023-12-03 15:33:34.332000             🧑  作者: Mango
ReflectionClass 是 PHP 中的一个内置类,用于获取关于类的详细信息。getProperties()是 ReflectionClass 类中的一个方法,用于获取类的属性信息。
public ReflectionProperty[] ReflectionClass::getProperties([ int $filter = null ])
参数说明:
$filter: 过滤条件,默认值为 null,表示不做过滤,可选值有:
可以用 "|" 符号将多个过滤条件组合使用。
该方法返回一个 ReflectionProperty 对象数组,每个元素都表示一个属性对象。
class ExampleClass {
public $publicProperty;
protected $protectedProperty;
private $privateProperty;
public function exampleFunction() {
echo "Hello World!";
}
}
$reflectionClass = new ReflectionClass('ExampleClass');
$properties = $reflectionClass->getProperties();
foreach($properties as $property) {
echo $property->getName() . "\n";
}
输出结果:
publicProperty
protectedProperty
privateProperty
上述示例中,我们创建了一个名为 ExampleClass 的类,并定义了三个属性:$publicProperty 为公有属性,$protectedProperty 为受保护的属性,$privateProperty 为私有属性。
然后,我们使用 ReflectionClass 类获取 ExampleClass 类的详细信息,并使用 getProperties() 方法获取该类的属性数组。最后,我们使用 foreach 循环遍历属性数组,并使用 ReflectionProperty 对象中的 getName() 方法获取属性名,并输出到屏幕上。
使用 ReflectionClass 类的 getProperties() 方法,可以方便地获取一个类的所有属性信息,从而更好地了解该类的结构和特点。同时,该方法还支持属性过滤,让获取信息更加灵活。