ReflectionClass::getDefaultProperties

デフォルトプロパティを取得する

説明

public array 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"
}

参考

  • ReflectionClass::getProperties
  • ReflectionClass::getStaticProperties
  • ReflectionClass::getProperty