PHP 8.4.1 Released!

ReflectionProperty::hasDefaultValue

(PHP 8)

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

Описание

public 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

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

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top