ReflectionProperty::isDefault

(PHP 5, PHP 7, PHP 8)

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

Описание

public ReflectionProperty::isDefault(): bool

Проверяет, является ли значение свойством заданным на этапе компиляции или установлено динамически во время исполнения.

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

У этой функции нет параметров.

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

true, если свойство объявлено во время компиляции, либо false, если оно было создано во время выполнения.

Примеры

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

<?php
class Foo {
public
$bar;
}

$o = new Foo();
$o->bar = 42;
$o->baz = 42;

$ro = new ReflectionObject($o);
var_dump($ro->getProperty('bar')->isDefault());
var_dump($ro->getProperty('baz')->isDefault());
?>

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

bool(true)
bool(false)

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

add a note add a note

User Contributed Notes 1 note

up
1
aronREPLACE-WITH-A-DOTduby at gmail dot com
10 years ago
For clarification, this isn't checking if the value is the default value, it's checking if the property is. The description wasn't as clear as the notes in return. For example:

<?php
class A{
     public
$foo = 'bar';
}

$a = new A();
$a->foo = 'nope';
$a->new_prop = 'Hello World';

// assume $a_ref_* are your reflection property classes
echo $a_ref_foo->isDefault(); // TRUE even though we changed the value, the property is a default property
echo $a_ref_new_prop->isDefault();// FALSE we added the new_prop property, it's not default

?>
To Top