PHP ReflectionClass::getStaticProperties 反射函数



  • 定义和用法

    ReflectionClass::getStaticProperties - 获取静态(static)属性
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 支持 支持
  • 语法

    ReflectionClass::getStaticProperties( void )
    
    ReflectionClass::getStaticProperties() 获取静态(static)属性。
  • 参数

    参数 必需的 描述
  • 返回值

    静态(static)的属性,类型是 array。
  • 示例

    function GetStaticPropertiesRecursive($class) {
            $joinedProperties = array();
            do {
                    $reflection = new ReflectionClass($class);
                    $staticProperties = $reflection->getStaticProperties();
                    foreach ($staticProperties as $name => $value) {
                            if (is_array($value)) {
                                    if (isset($joinedProperties[$name]))
                                            $joinedProperties[$name] = array_merge($value, $joinedProperties[$name]);
                                    else
                                            $joinedProperties[$name] = $value;
                            } else {
                                    if (isset($joinedProperties[$name]))
                                            $joinedProperties[$name][] = $value;
                                    else
                                            $joinedProperties[$name] = array($value);
                            }
                    }
            } while ($class = get_parent_class($class));
            return $joinedProperties;
    }
    
    class base {
            public static $Test = array("foo1", "foo2");
    }
    class sub extends base {
            public static $Test = "sub";
    }
    
    print_r(GetStaticPropertiesRecursive("sub"));
    
  • 相关页面

    ReflectionClass::getStaticPropertyValue() - 获取静态(static)属性的值
    ReflectionClass::setStaticPropertyValue() - 设置静态属性的值