ReflectionProperty::getSettableType

(PHP 8 >= 8.4.0)

ReflectionProperty::getSettableTypeDevuelve el tipo de argumento de un hook setter

Descripción

public function ReflectionProperty::getSettableType(): ?ReflectionType

Devuelve el tipo de argumento de un hook set. Si no se define ningún hook set, se comporta de manera idéntica a ReflectionProperty::getType().

Parámetros

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

Valores devueltos

  • Este método devuelve una instancia de ReflectionType que corresponde al tipo definible para la propiedad.
  • Si existe un hook set que define un tipo explícito, este será devuelto.
  • Si el hook no especifica un tipo, o si no existe, se devolverá el tipo de la propiedad, de manera idéntica a ReflectionProperty::getType(). Este valor puede ser null si la propiedad no está tipada.
  • Si la propiedad es virtual y no tiene hook set, se devolverá una instancia de ReflectionType para never.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionProperty::getSettableType()

<?php

class Example
{
    public string $basic {
        set => strtolower($value);
    }

    public string $wider {
        set(string|Stringable $value) => (string) $value;
    }

    public string $virtual {
        get => 'Do not change this';
    }

    public $untyped = 'silly';
}

$rClass = new \ReflectionClass(Example::class);

var_dump($rClass->getProperty('basic')->getSettableType());
var_dump($rClass->getProperty('wider')->getSettableType());
var_dump($rClass->getProperty('virtual')->getSettableType());
var_dump($rClass->getProperty('untyped')->getSettableType());

?>

El ejemplo anterior mostrará:

object(ReflectionNamedType)#3 (0) {
}
object(ReflectionUnionType)#2 (0) {
}
object(ReflectionNamedType)#3 (0) {
}
NULL

Ver también

add a note

User Contributed Notes

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