ReflectionProperty::isInitialized
プロパティが初期化されているかをチェックする
説明
public bool ReflectionProperty::isInitialized(objectnull $object
= null
)
パラメータ
-
object
-
プロパティが static
でない場合、プロパティを取得する対象のオブジェクトを与えなければなりません。
戻り値
型付きのプロパティが初期化される前か、明示的に unset
されたプロパティの場合は、 false
を返します。
それ以外の全てのプロパティは、 true
が返されます。
エラー / 例外
プロパティがアクセス不能な場合、 ReflectionException
がスローされます。
ReflectionProperty::setAccessible
を使えば、protected や private
なプロパティをアクセス可能にすることが出来ます。
例
例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));
?>
参考
- ReflectionProperty::hasType