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

# ReflectionClass::getDefaultProperties

(PHP 5, PHP 7)

ReflectionClass::getDefaultProperties — デフォルトプロパティを取得する

### 説明

public ReflectionClass::getDefaultProperties ( void ) : array

クラスのデフォルトプロパティ (継承したプロパティを含む) を取得します。

> 注意:

> このメソッドで static プロパティを扱えるのは、内部クラスの場合だけです。 ユーザー定義クラスで使った場合は、 クラスの static なプロパティのデフォルト値はこのメソッドでは追跡できません。

### パラメータ

この関数にはパラメータはありません。

### 返り値

デフォルトプロパティの配列を返します。プロパティ名が配列のキー、 そしてそのプロパティのデフォルト値が配列の値 (デフォルト値が存在しない場合は `NULL`) となります。 この関数は静的なプロパティとそうでないプロパティを区別せず、 アクセス修飾子も考慮しません。

### 例

例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() - クラスのプロパティを表す ReflectionProperty を取得する