我有一个包含公共,公共静态,私有和私有静态属性的类,我试图只获取公共属性.我出于某种原因无法得到过滤器,我试过了
ReflectionProperty::IS_PUBLIC & ~ReflectionProperty::IS_STATIC
Run Code Online (Sandbox Code Playgroud)
要么
ReflectionProperty::IS_PUBLIC & (ReflectionProperty::IS_PUBLIC | ~ReflectionProperty::IS_STATIC)
Run Code Online (Sandbox Code Playgroud)
除了其他事情,但要么我继续获得静态公共或私人静态.
您需要查询所有公共信息,然后像这样过滤公共静态信息:
$ro = new ReflectionObject($obj);
$publics = array_filter(
$ro->getProperties(ReflectionProperty::IS_PUBLIC),
function(ReflectionProperty $prop) {
return !$prop->isStatic();
}
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
379 次 |
| 最近记录: |