PHP Conference Japan 2024

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