我试过了:
$rc = new \ReflectionClass($this);
$rc->getProperties(ReflectionProperty::IS_PUBLIC || ReflectionProperty::IS_PRIVATE || ReflectionProperty::IS_PROTECTED)
但所做的就是给我一个班级static
属性。它有3个private
和一个static
。我只是想知道如何清除static
个。
答案 0 :(得分:1)
您的static
属性也是public
,private
或protected
,因此它也会返回它们。您需要使用isStatic()
检查每个属性:
foreach($rc->getProperties() as $prop) {
if(!$prop->isStatic()) { // or $prop->isStatic() === false
$result[] = $prop;
}
}
getProperties()
默认为所有属性。