Проверяет, задано ли для свойства значение по умолчанию

# ReflectionProperty::hasDefaultValue

(PHP 8)

ReflectionProperty::hasDefaultValue — Проверяет, задано ли для свойства значение по умолчанию

### Описание

public function ReflectionProperty::hasDefaultValue(): bool

Проверяет, задано ли для свойства значение по умолчанию, включая `null`. Возвращает `false` для типизированных свойств без заданного значения по умолчанию и для динамически определяемых свойств.

### Список параметров

Сигнатура функции не содержит параметров.

### Возвращаемые значения

Если для свойства задано значение по умолчанию (включая `null`), то возвращает `true`. Если свойство типизированное и для него не задано значение по умолчанию, либо если это динамически определяемое свойство, то возвращает `false`.

### Примеры

Пример #1 Пример использования ReflectionProperty::hasDefaultValue()

    <?php
    class Foo {
        public $bar;
        public ?int $baz;
        public ?int $foo = null;
        public int $boing;

        public function __construct()
        {
            $this->ping = '';
        }
    }

    $ro = new ReflectionObject(new Foo());
    var_dump($ro->getProperty('bar')->hasDefaultValue());
    var_dump($ro->getProperty('baz')->hasDefaultValue());
    var_dump($ro->getProperty('foo')->hasDefaultValue());
    var_dump($ro->getProperty('boing')->hasDefaultValue());
    var_dump($ro->getProperty('ping')->hasDefaultValue()); // Динамическое свойство
    var_dump($ro->getProperty('pong')->hasDefaultValue()); // Неопределённое свойство
    ?>

Результат выполнения приведённого примера:

    bool(true)
    bool(false)
    bool(true)
    bool(false)
    bool(false)

    Fatal error: Uncaught ReflectionException: Property Foo::$pong does not exist in example.php

### Смотрите также

- ReflectionProperty::getDefaultValue() - Возвращает значение по умолчанию, которое объявили для свойства

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