ReflectionClass::getProperty

(PHP 5, PHP 7)

ReflectionClass::getProperty获取类的一个属性的 ReflectionProperty

说明

public ReflectionProperty ReflectionClass::getProperty ( string $name )

获取类的一个属性的 ReflectionProperty

参数

name

属性名。

返回值

一个 ReflectionProperty

范例

Example #1 ReflectionClass::getProperty() 的基本用法

<?php
$class 
= new ReflectionClass('ReflectionClass');
$property $class->getProperty('name');
var_dump($property);
?>

以上例程会输出:

object(ReflectionProperty)#2 (2) {
  ["name"]=>
  string(4) "name"
  ["class"]=>
  string(15) "ReflectionClass"
}

参见

User Contributed Notes

dohpaz42 16-Jun-2015 01:16
Accessing private properties is possible, but care must be taken if that private property was defined lower into the inheritance chain. For example, if class A extends class B, and class B defines a private property called 'foo', getProperty will throw a ReflectionException.

Instead, you can loop over getParentClass until it returns false to look for the private property, at which point you can access and/or modify its value as needed.
eric at naeseth dot com 03-Aug-2011 12:38
If the class doesn't have a property with the given name, a ReflectionException will be raised.