ReflectionProperty::isDefault

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::isDefaultChecks if property is a default property

Description

public ReflectionProperty::isDefault(): bool

Checks whether the property was declared at compile-time, or whether the property was dynamically declared at run-time.

Parameters

This function has no parameters.

Return Values

true if the property was declared at compile-time, or false if it was created at run-time.

Examples

Example #1 ReflectionProperty::isDefault() example

<?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());
?>

The above example will output:

bool(true)
bool(false)

See Also

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