PHP ReflectionProperty::getValue 反射函数



  • 定义和用法

    ReflectionProperty::getValue - 获取属性的值
  • 版本支持

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

    ReflectionProperty::getValue( [ object $object ]  )
    
    ReflectionProperty::getValue() 获取属性的值。
  • 参数

    参数 必需的 描述
    object 如果该属性是非静态的,则必须提供一个对象以从中获取该属性。 如果要获取默认属性而不提供对象,请使用 ReflectionClass::getDefaultProperties()
  • 返回值

    属性的当前值。
    如果属性不可访问,则抛出 ReflectionException 异常。 您可以使用 ReflectionProperty::setAccessible() 使受保护或私有属性可访问。
  • 示例

    class Foo {
        public static $staticProperty = 'foobar';
        
        public $property = 'barfoo';
        protected $privateProperty = 'foofoo';
    }
    
    $reflectionClass = new ReflectionClass('Foo');
    
    var_dump($reflectionClass->getProperty('staticProperty')->getValue());
    var_dump($reflectionClass->getProperty('property')->getValue(new Foo));
    
    $reflectionProperty = $reflectionClass->getProperty('privateProperty');
    $reflectionProperty->setAccessible(true);
    var_dump($reflectionProperty->getValue(new Foo));
    
    
  • 相关页面

    ReflectionProperty::setValue() -设置属性值
    ReflectionProperty::setAccessible() - 设置属性可访问性
    ReflectionClass::getDefaultProperties() - 获取默认属性
    ReflectionClass::getStaticPropertyValue() - 获取静态(static)属性的值