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