2024 日本 PHP 研討會

ReflectionProperty::isInitialized

(PHP 7 >= 7.4.0, PHP 8)

ReflectionProperty::isInitialized檢查屬性是否已初始化

說明

public ReflectionProperty::isInitialized(?object $object = null): bool

檢查屬性是否已初始化。

參數

object

如果屬性不是靜態的,則必須提供一個物件來擷取屬性。

回傳值

對於初始化之前的類型化屬性,以及明確使用 unset() 的屬性,會返回 false。對於所有其他屬性,將返回 true

錯誤/例外

如果屬性無法存取,則會拋出 ReflectionException。您可以使用 ReflectionProperty::setAccessible() 使受保護或私有屬性可存取。

更新日誌

版本 說明
8.0.0 object 現在可以為 null。

範例

範例 #1 ReflectionProperty::isInitialized() 範例

<?php
class User
{
public
string $name;
}

$rp = new ReflectionProperty('User', 'name');
$user = new User;
var_dump($rp->isInitialized($user));
$user->name = 'Nikita';
var_dump($rp->isInitialized($user));
?>

上述範例將輸出

bool(false)
bool(true)

另請參考

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top