ReflectionProperty::hasDefaultValue
(PHP 8)
ReflectionProperty::hasDefaultValue — Проверяет, задано ли для свойства значение по умолчанию
Описание
Проверяет, задано ли для свойства значение по умолчанию, включая null
. Возвращает false
для типизированных свойств без заданного значения по умолчанию и для динамически определяемых свойств.
Список параметров
У этой функции нет параметров.
Возвращаемые значения
Если для свойства задано значение по умолчанию (включая null
), то возвращает true
.
Если свойство типизированное и для него не задано значение по умолчанию, либо если
это динамически определяемое свойство, то возвращает false
.
Примеры
Пример #1 Пример использования ReflectionClass::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()); // Dynamic property
var_dump($ro->getProperty('pong')->hasDefaultValue()); // Not defined property
?>
Результат выполнения данного примера:
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() - Возвращает значение по умолчанию, заданное для свойства