PHPerKaigi 2021

ReflectionProperty::hasDefaultValue

(PHP 8)

ReflectionProperty::hasDefaultValueChecks if property has a default value declared

Beschreibung

public ReflectionProperty::hasDefaultValue ( ) : bool

Checks whether the property was declared with a default value, including an implicit null default value. Only returns false for typed properties without default value (or dynamic properties).

Parameter-Liste

Diese Funktion besitzt keine Parameter.

R├╝ckgabewerte

If the property has any default value (including null) true is returned; if the property is typed without a default value declared or is a dynamic property, false is returned.

Beispiele

Beispiel #1 ReflectionClass::hasDefaultValue() example

<?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
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Fatal error: Uncaught ReflectionException: Property Foo::$pong does not exist in example.php

Siehe auch

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top