プロパティで宣言されたデフォルト値を返す

# ReflectionProperty::getDefaultValue

(PHP 8)

ReflectionProperty::getDefaultValue — プロパティで宣言されたデフォルト値を返す

### 説明

public function ReflectionProperty::getDefaultValue(): mixed

プロパティに明示または黙示的に宣言されているデフォルト値を取得します。

### パラメータ

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

### 戻り値

プロパティに何かしらデフォルト値が存在する場合(`null`も含みます)、 それを返します。デフォルト値がない場合、`null` を返します。 デフォルト値が `null` の場合と、型付きプロパティが初期化されてない場合は区別できません。 それらを区別するには、ReflectionProperty::hasDefaultValue() を使って下さい。

### 変更履歴

バージョン | 説明
--- | ---
8.5.0 | デフォルト値を持たないプロパティに対して ReflectionProperty::getDefaultValue() を呼び出すのは非推奨となりました。

### 例

例1 ReflectionProperty::getDefaultValue() の例

    <?php
    class Foo {
        public $bar = 1;
        public ?int $baz;
        public int $boing = 0;
        public function __construct(public string $bak = "default") { }
    }

    $ro = new ReflectionClass(Foo::class);
    var_dump($ro->getProperty('bar')->getDefaultValue());
    var_dump($ro->getProperty('baz')->getDefaultValue());
    var_dump($ro->getProperty('boing')->getDefaultValue());
    var_dump($ro->getProperty('bak')->getDefaultValue());
    ?>

上の例の出力は以下となります。

    int(1)
    NULL
    int(0)
    NULL

### 参考

- ReflectionProperty::hasDefaultValue() - デフォルト値が宣言されているかをチェックする

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open