Verifica si la propiedad tiene un valor por omisión

# ReflectionProperty::hasDefaultValue

(PHP 8)

ReflectionProperty::hasDefaultValue — Verifica si la propiedad tiene un valor por omisión

### Descripción

public function ReflectionProperty::hasDefaultValue(): bool

Verifica si la propiedad ha sido declarada con un valor por omisión, incluyendo un valor por omisión implícito `null`. Retorna `false` para las propiedades tipadas sin valor por omisión (o las propiedades dinámicas).

### Parámetros

Esta función no contiene ningún parámetro.

### Valores devueltos

Si la propiedad tiene un valor por omisión (incluyendo `null`), `true` es retornado; si la propiedad es tipada sin valor por omisión declarado o es una propiedad dinámica, `false` es retornado.

### Ejemplos

Ejemplo #1 Ejemplo de ReflectionProperty::hasDefaultValue()

    <?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()); // Propiedad dinámica
    var_dump($ro->getProperty('pong')->hasDefaultValue()); // Propiedad no definida
    ?>

El ejemplo anterior mostrará:

    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

- ReflectionProperty::getDefaultValue() - Devuelve el valor por defecto definido para una propiedad

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open