(PHP 5, PHP 7, PHP 8)
ReflectionClass::getDefaultProperties — デフォルトプロパティを取得する
クラスのデフォルトプロパティ (継承したプロパティを含む) を取得します。
注意:
このメソッドで static プロパティを扱えるのは、内部クラスの場合だけです。 ユーザー定義クラスで使った場合は、 クラスの static なプロパティのデフォルト値はこのメソッドでは追跡できません。
この関数にはパラメータはありません。
デフォルトプロパティの配列を返します。プロパティ名が配列のキー、
そしてそのプロパティのデフォルト値が配列の値 (デフォルト値が存在しない場合は null
) となります。
この関数はstaticプロパティとそうでないプロパティを区別せず、
アクセス修飾子も考慮しません。
例1 ReflectionClass::getDefaultProperties() の例
<?php
class Bar {
protected $inheritedProperty = 'inheritedDefault';
}
class Foo extends Bar {
public $property = 'propertyDefault';
private $privateProperty = 'privatePropertyDefault';
public static $staticProperty = 'staticProperty';
public $defaultlessProperty;
}
$reflectionClass = new ReflectionClass('Foo');
var_dump($reflectionClass->getDefaultProperties());
?>
上の例の出力は以下となります。
array(5) { ["staticProperty"]=> string(14) "staticProperty" ["property"]=> string(15) "propertyDefault" ["privateProperty"]=> string(22) "privatePropertyDefault" ["defaultlessProperty"]=> NULL ["inheritedProperty"]=> string(16) "inheritedDefault" }