ReflectionProperty::hasDefaultValue

(PHP 8)

ReflectionProperty::hasDefaultValueVerifica se a propriedade tem um valor padrão declarado

Descrição

public ReflectionProperty::hasDefaultValue(): bool

Verifica se a propriedade foi declarada com um valor padrão, incluindo um valor implícito null. Retorna apenas false para propriedades digitadas sem valor padrão (ou propriedades dinâmicas).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Se a propriedade tiver algum valor padrão (incluindo null) true é retornado; Se a propriedade for digitada sem um valor padrão declarado ou for uma propriedade dinâmica, false é retornado.

Exemplos

Example #1 Exemplo 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()); // Propriedade dinâmica
var_dump($ro->getProperty('pong')->hasDefaultValue()); // Propriedade não definida
?>

O exemplo acima produzirá:

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

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

Veja Também