PHP Velho Oeste 2024

ReflectionProperty::isDefault

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::isDefaultChecks if property is a default property

Beschreibung

public ReflectionProperty::isDefault(): bool

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

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

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

Beispiele

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)

Siehe auch

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