PHP 8.1.0 Beta 1 available for testing

ReflectionProperty::hasDefaultValue

(PHP 8)

ReflectionProperty::hasDefaultValueChecks if property has a default value declared

Descripción

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).

Parámetros

Esta función no tiene parámetros.

Valores devueltos

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.

Ejemplos

Ejemplo #1 ReflectionProperty::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
?>

El resultado del ejemplo sería:

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

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

Ver también

add a note add a note

User Contributed Notes

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