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 条备注

35
eric at naeseth dot com
13 年前
如果类没有给定名称的属性,则会抛出 ReflectionException。
10
dohpaz42
9 年前
可以访问私有属性,但如果该私有属性在继承链中更低级别定义,则需要小心。例如,如果类 A 扩展类 B,并且类 B 定义了一个名为 'foo' 的私有属性,则 getProperty 将抛出 ReflectionException。

相反,您可以循环遍历 getParentClass 直到它返回 false 以查找私有属性,此时您可以根据需要访问和/或修改其值。
To Top