ReflectionClass::getProperty

(PHP 5, PHP 7, PHP 8)

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

说明

public ReflectionClass::getProperty(string $name): ReflectionProperty

获取类的一个属性的 ReflectionProperty

参数

name

属性名。

返回值

一个 ReflectionProperty

示例

示例 #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"
}

参见

添加备注

用户贡献的备注 2 notes

up
39
eric at naeseth dot com
13 years ago
If the class doesn't have a property with the given name, a ReflectionException will be raised.
up
10
dohpaz42
10 years ago
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.
To Top